golang 构建工具之 Makefile

可能是因为编译太简单了,golang 并没有一个官方的构建工具(类似于 java 的 maven 和 gradle之类的),但是除了编译,我们可能还需要下载依赖,运行测试,甚至像 easyjson,protobuf,thrift 这样的工具下载和代码生成,如果没有构建工具,这些工作就会非常麻烦 为了解决这个问题,之前写过一个 everything.sh 的脚本,把所有的操作都封装在这个脚本里面,只需要执行类似于 sh everything.sh dependency 的命令就可以完成对应的工作,...阅读全文

2018-04-12 01:34:39 hatlonely
阅读:2282 评论:0

在Golang中各种永远阻塞的姿势

在Golang中各种永远阻塞的姿势 Go的运行时的当前设计,假定程序员自己负责检测何时终止一个goroutine以及何时终止该程序。 可以通过调用os.Exit或从main()函数的返回来以正常方式终止程序。而有时候我们需要的是使程序阻塞在这一行。 使用sync.WaitGroup 一直等待直到WaitGroup等于0 package main import "sync" func main() { var wg sync.WaitGroup wg.Add(1) wg.Wait() } 空sel...阅读全文

2018-05-19 21:03 sheepbao.github 等
阅读:9593 评论:0

使用Gin框架构建一个简单的注册登录后台(Go语言)

一、Gin框架介绍 框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了。Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了2.0版本。具有快速灵活,容错方便等特点。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。 二、gin安装 首先需要安装,安装比较简单,使用go get即可 go get github.com/gin-g...阅读全文

2018.12.13 20:59 一梦千嬅
阅读:4215 评论:0

Golang学习笔记之WEB框架(gin)基本使用

gin是Go语言写的一个web框架,API性能超强,运行速度号称较httprouter要快40倍。封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点。 Github地址:https://github.com/gin-gonic/gin gin的安装:go get github.com/gin-gonic/gin API gin.Default() 创建路由 gin.DisableConsoleColor() 禁用控制台颜色 gin.SetMode() 设置gin模式。参数可...阅读全文

2018.12.16 10:00 学生黄哲
阅读:11425 评论:0

闲话高并发的那些神话,看京东架构师如何把它拉下神坛

高并发也算是这几年的热门词汇了,尤其在互联网圈,开口不聊个高并发问题,都不好意思出门。高并发有那么邪乎吗?动不动就千万并发、亿级流量,听上去的确挺吓人。但仔细想想,这么大的并发与流量不都是通过路由器来的吗?>>>>0x00 一切源自网卡高并发的流量通过低调的路由器进入我们系统,第一道关卡就是网卡,网卡怎么抗住高并发?这个问题压根就不存在,千万并发在网卡看来,一样一样的,都是电信号,网卡眼里根本区分不出来你是千万并发还是一股洪流,所以衡量网卡牛不牛都说带宽,从来没有并发量的说法。网卡位于物理层和链...阅读全文

2018.12.18 21:54 大齐老师
阅读:2165 评论:0

golang context使用说明

context包专门用来简化处理单个请求的多个goroutine之间与请求域的数据、取消信号、截止时间等相关操作。 核心数据结构 type Context interface { Deadline() (deadline time.Time, ok bool) Done() <-chan struct{} Err() error Value(key interface{}) interface{} } Deadline返回一个time.Time,是当前Context的应该结束的时间,ok表示是否...阅读全文

阅读:5297 评论:1

Golang-filepath使用

Golang-filepath 使用 获取当前目录 os.GetPWD() filepath.Abs(path) # 绝对目录 filepath.Dir(path) # 相对目录 可以 filepath.Abs(filepath.Dir(path)) 获取字符目录,前缀,后缀等方法 filepath.Split(path) filepath.Base(path) # test.txt filepath.Ext(path) # .txt阅读全文

2018-12-19 15:34:49 笨兔儿
阅读:5680 评论:0

golang中如何获得函数的函数名

如何获取golang中的函数的名字, 这里需要用到反射. 可以看如下代码. 重点使用 runtime.FuncForPC 这个函数获取函数名. 使用strings.FieldsFunc 对得到的带 路径名和包名的 函数名进行必要的处理. package main import ( "fmt" "reflect" "runtime" "strings" // "seps" "runtime/debug" ) func foo() { } func GetFunctionName(i interfa...阅读全文

阅读:13096 评论:0

Protocol Buffer入门简介

一、Protocol buffers简述 特点 Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data. 语言中立,平台中立 序列化结构化数据 protocol核心学习点 protocol buffer 语法https://developers.google.com/protocol-buffers/docs/proto proto...阅读全文

2018.12.20 17:14 dreamguys
阅读:2029 评论:0

干货|Golang拦截器的一种实现

点击上方“中兴开发者社区”,关注我们 每天读一篇一线开发者原创好文 前言 说起拦截器,大家一定会想起Java语言。 Java里的拦截器是动态拦截Action调用的对象,它提供了一种机制使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。 最近一段时间,笔...阅读全文

2017年11月29日 00:00:00 o4dc8ojo7zl6
阅读:2837 评论:0

如何使用 Golang 日志监控你的应用程序?

你是否厌烦了那些使用复杂语言编写的、难以部署的、总是在不停构建的解决方案?Golang 是解决这些问题的好方法,它和 C 语言一样快,又和 Python 一样简单。但是你是如何使用 Golang 日志监控你的应用程序的呢?Golang 没有异常,只有错误。因此你的第一印象可能就是开发 Golang 日志策略并不是一件简单的事情。不支持异常事实上并不是什么问题,异常在很多编程语言中已经失去了其异常性:它们过于被滥用以至于它们的作用都被忽视了。在进一步深入之前,我们首先会介绍 Golang 日志的基...阅读全文

2018年05月20日 09:07:08 u014389734
阅读:806 评论:0

golang ssh包使用方法介绍

在使用gexpect包发现很多问题之外,这里又尝试使用ssh user@127.0.0.1的思路进行用户切换。这里记录下具体的使用方法,遇到的ssh: must specify HostKeyCallback 问题的解法方法及最终使用过程中的问题。 一、ssh包crypto的安装 ssh使用的包为"golang.org/x/crypto/ssh",由于golang.org被墙了,所以这里使用github上的镜像版本,所以这里不能使用go get进行安装(不要使用go get,不要使用go get...阅读全文

2018.12.24 17:37 Chole121
阅读:1603 评论:0

Go语言Web服务-感觉较完整

1 】Web工作方式 https://blog.csdn.net/qq_34777600/article/details/81157219 2】Go如何使得Web工作 https://blog.csdn.net/qq_34777600/article/details/81157572 3】Go的http包详解 https://blog.csdn.net/qq_34777600/article/details/81157875 4】Socket编程 https://blog.csdn.net/qq...阅读全文

2018年10月17日 15:23:24 qq_28703359
阅读:4970 评论:1

Go语言优秀文档

go语言资料汇总 : https://blog.zhnytech.com/articles/2016/07/15/Golang%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99%E6%94%B6%E9%9B%86.htmlgo语言优秀开源项目汇总: https://blog.zhnytech.com/articles/2016/07/13/go%E8%AF%AD%E8%A8%80%E4%BC%98%E7%A7%80%E5%BC%80%E6%BA%90%E9%A1%B9%E7...阅读全文

2019-06-02 09:39:03 蓝叶子Sheep
阅读:810 评论:0