Golang 新手可能会踩的 50 个坑 : https://wuyin.io/2018/03/07/50-shades-of-golang-traps-gotchas-mistakes/
Golang精编100题 : https://www.jianshu.com/p/f690203ff168
5个步骤,教你瞬间明白线程和线程安全 https://my.oschina.net/u/3178270/blog/1982447
NSQ : https://nsq.io/deployment/installing.html [kafka 用 java 写的消息对应, 要装jdk, 目前用的人多
nsq 用 go 写的消息队列(后面出的)]
使用 Go 语言开发大型 MMORPG 游戏服务器怎么样? https://www.zhihu.com/question/21098952?utm_source=qq&utm_medium=social
Golang 里一个有趣的小细节 : https://zhuanlan.zhihu.com/p/44851211
Golang 大杀器之性能剖析 PProf https://github.com/EDDYCJY/blog/blob/master/golang/2018-09-15-Golang 大杀器之性能剖析 PProf.md
go http 框架性能大幅下降原因分析 : https://my.oschina.net/u/2950272/blog/2247104
如果变量没有显式初始化,则被隐式地赋予其类型的零值(zero value),数值类型是0,字符串类型是空字符串""
slice, map, channel, pointer, func, interface 零值为 nil
make和new的区别:
1.make只能用来分配及初始化类型为slice,map,chan的数据;new可以分配任意类型的数据
2.new分配返回的是指针,即类型*T;make返回引用,即T
3.new分配的空间被清零,make分配后,会进行初始化
number1 := make([]int, 0)
number2 := new([]int)
fmt.Println(number1)
fmt.Println(number2)
拥有自动垃圾回收、一个包系统、函数作为一等公民、词法作用域、系统调用接口、只读的UTF8字符串等。但是Go语言本身只有很少的特性,也不太可能添加太多的特性。例如,它没有隐式的数值转换,没有构造函数和析构函数,没有运算符重载,没有默认参数,也没有继承,没有泛型,没有异常,没有宏,没有函数修饰,更没有线程局部存储。但是,语言本身是成熟和稳定的,而且承诺保证向后兼容:用之前的Go语言编写程序可以用新版本的Go语言编译器和标准库直接构建而不需要修改代码