golang比较好用的几个小技巧

如何利用Go提供的一些工具和参数,帮助写出更好的代码?

一. golint 检查代码规范 例如 golint player.go 或 golint game/  

golint <directory|files>

golint 会检测的方面:

  • 变量名规范
  • 变量的声明,像var str string = "test",会有警告,应该var str = "test"
  • 大小写问题,大写导出包的要有注释
  • x += 1 应该 x++

ps:连 a+=1 都要改为a++,a+=2反而没问题,有点接受不了!!!


二. go vet 检查代码存在的隐患 例如 go tool vet . 或 go tool vet game/  

go vet <directory|files>


三. --race 检查是否有race condition(并发竞争) 例如:go run --race trace.go 或  go build --race trace.go

golang在1.1之后引入了竞争检测的概念。我们可以使用go run -race 或者 go build -race 来进行竞争检测。
golang语言内部大概的实现就是同时开启多个goroutine执行同一个命令,并且纪录每个变量的状态。

但是这个参数会引发CPU和内存的使用增加,很耗性能,所以基本是在测试环境使用,不是在正式环境开启。

 

最后补一下编码规范,可以在goland编辑器使用插件go fmt,统一规范项目组的代码编写:

 

 

ok,that's all, thanks!

posted @ 2019-10-30 11:24  天之草  阅读(1754)  评论(0编辑  收藏  举报