
GO golang杂谈
围观岳老师
这个作者很懒,什么都没留下…
展开
-
Golang Protobuf
Golang Protobuf转自:http://studygolang.com/articles/4872在 Golang 中使用 Protobuf安装 goprotobuf 1.从 https://github.com/google/protobuf/releases 获取 Protobuf 编译器 protoc(可下载到 Windows 下转载 2017-08-08 09:32:51 · 534 阅读 · 0 评论 -
nginx代理后获取用户ip
nginx代理后获取用户ip一部分内容来自:http://studygolang.com/articles/507如果走代理,会是代理的ip如果通过nginx代理,上边方法获得的是nginx的服务器的ip,所以这里要设置nginx代理proxy_set_header Remote_addr $remote_addr;一、sites-a原创 2017-06-26 19:56:21 · 2043 阅读 · 0 评论 -
golang截取字符串
golang截取字符串转自:http://blog.youkuaiyun.com/u012210379/article/details/44749743package utilsfunc Substr(str string, start int, length int) string { rs := []rune(str) rl := len(rs) end := 0 if start转载 2017-06-21 18:01:53 · 1709 阅读 · 0 评论 -
golang list坑
golang list坑转自:http://studygolang.com/articles/4842golang中list包用法可以参看http://blog.youkuaiyun.com/chenbaoke/article/details/42780895但是list包中大部分对于e *Element进行操作的元素都可能会导致程序崩溃,其根本原因是e是一个Element类型的指针,转载 2017-06-16 11:37:16 · 4246 阅读 · 0 评论 -
golang list slice 删除其中一项比对
golang list slice 删除其中一项比对转自:http://studygolang.com/articles/3221slice可以动态添加项(使用append()函数),但是没有删除项的函数。变通方法,可以使用slice重新组合的方式删除一个或多个项,slice是引用类型,存的是指针,性能上不会有太多影响,示例如下:package mainimport "fm转载 2017-06-16 11:15:03 · 2796 阅读 · 0 评论 -
Go队列和堆栈
Go队列和堆栈转自:http://www.jb51.net/article/61288.htmgolang,其实我的实现是利用container/list包实现的,其实container/list包很强大.package mainimport ( "fmt" "container/list")func main() { // 生成队列 l :=转载 2017-06-06 20:42:02 · 6689 阅读 · 1 评论 -
golang中sync.RWMutex和sync.Mutex
golang中sync.RWMutex和sync.Mutex区别转自:http://blog.youkuaiyun.com/chenbaoke/article/details/41957725golang中sync包实现了两种锁Mutex (互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能.type Mutex f转载 2017-05-26 22:59:11 · 898 阅读 · 0 评论 -
Go 中的 map 并发存取
Go 中的 map 并发存取转自:http://studygolang.com/articles/2775Catena (时序存储引擎)中有一个函数的实现备受争议,它从 map 中根据指定的 name 获取一个 metricSource。每一次插入操作都会至少调用一次这个函数,现实场景中该函数调用更是频繁,并且是跨多个协程的,因此我们必须要考虑同步。该函数从转载 2017-05-26 22:53:21 · 1442 阅读 · 0 评论 -
go map fatal error:concurrent map read and map write
go map fatal error:concurrent map read and map writegolang中map并发读写问题及解决方法go语言切片slice的线程协程安全问题一、map并发读写问题如果map由多协程同时读和写就会出现 fatal error:concurrent map read and map write的错误如原创 2017-05-26 22:29:17 · 11898 阅读 · 0 评论 -
Golang去除slice和list的重复元素
Golang去除slice和list的重复元素,非常有用的功能转自:http://studygolang.com/articles/9622Golang中,利用反射和interface就可以做到,不废话看代码func main() { b := []string{"a", "b", "c", "c", "e", "f", "a", "g", "b", "b", "c"}转载 2017-03-21 22:40:40 · 14052 阅读 · 1 评论 -
go语言JSON验证器
go语言JSON验证器转自:http://studygolang.com/articles/9621分析既然要验证JSON的有效性,那么必然需要清楚的知道JSON格式,这个在JSON官网已经给我们画出来了:从官方的图上面可以看出,JSON的组成一共有五部分:object: 以左大括号({)开头表示对象的开始。arr转载 2017-03-21 22:29:11 · 4620 阅读 · 0 评论 -
Go语言开发Android程序
Go 语言开发 Android 程序转自:http://studygolang.com/articles/9620环境配置安装 Go 1.5 以上版本,具体安装步骤见官网 https://golang.org/doc/install安装 gomobile https://godoc.org/golang.org/x/mobile/cmd/gomobile执行以下命令转载 2017-03-21 22:12:37 · 9192 阅读 · 0 评论 -
golang recover from panic situation: - reflect: call of reflect.Value.Elem on struct Value
recover from panic situation: - reflect: call of reflect.Value.Elem on struct Valuegolang报错recover from panic situation: - reflect: call of reflect.Value.Elem on struct Value原因是该传,指针的地方没传。原创 2017-01-20 00:13:21 · 9559 阅读 · 2 评论 -
Go是设计糟糕的编程语言
Go是设计糟糕的编程语言理由1. 切片(Slice)操作压根就不对!切片很棒,我真的很喜欢这个概念和一些用法。但是让我们花一秒钟,想象一下我们真的想要去用切片写一些代码。显而易见,切片存在于这门语言的灵魂中,它让 Go 强大。但是,再一次,在“理论”讨论的间隙,让我们想象一下我们有时会写一些实实在在的代码。以下列出的代码展示了你在 Go 中如何做列表操作。// 请给我一些数字!转载 2016-08-06 12:33:57 · 1347 阅读 · 0 评论 -
Golang编程经验
Golang编程经验如何选择web框架:首先Golang语言开发web项目不一定非要框架,本身已经提供了Web开发需要的一切必要技术。当然如果想要ruby里面Rail那种高层次全栈式的MVC框架,Golang里面暂时没有,但是不是所有人都喜欢这种复杂的框架。Golang里面一些应用层面的技术需要自己去组装,比如session,cache, log等等. 可选择的web框架有转载 2016-08-06 09:30:13 · 1664 阅读 · 0 评论 -
Golang使用感受
Golang使用感受说白了一门语言对你造成重大影响的就四个东西:性能,行数,易理解度,坑的多寡深浅(包括网上的相关资料和第三方类库)。性能方面Go 的性能基本上只输 C 家族,最坏情况也就慢几倍(不像某些流行语言慢几十上百倍),就算用来实现对性能要求苛刻的算法也算不上浪费 CPU。但如果看广义的性能,把并发算进去,还是比较爽的。像 Ruby / Python 这类被 GIL转载 2016-08-06 09:27:51 · 1180 阅读 · 0 评论