Skip to content

Go语言学习需要注意的问题

cserli edited this page Nov 12, 2018 · 1 revision

团队开发需要注意点,如下:

问题一 依赖库(包)的管理 govender -- 依赖包的管理

问题二 线程并发问题 -- 并发安全 map操作

问题三 网络基础类型rpc调用注意事项

问题四 堆内存 -- 频繁对象申请

    golang内存分配器
    golang内存分配器主要包含三个数据结构:MHeap,MCentral以及MCache
    文章--:
    https://blog.csdn.net/u013929635/article/details/80108864

问题五 定时器操作 Ticker After 区别

  `func Timer() {
ttime := time.Ticker(time.Second * 10)
for {
	select {
	case <-ttime:
	case <-time.After(time.Second * 10):
	case <-time.Ticker(time.Second * 10):
	}
}
return

}`

问题六 接口、反射的使用;进来避免使用,对性能有一定的损耗。

问题七 GO与C 之间的切换 对性能有一定的影响

问题八 第三方库的选择 做对比测试,reids可以的

总结: 1 项目模块单元测试 2 性能损耗测试,profile使用,擅长火焰图分析等 3 设计模式的使用。

Clone this wiki locally