如何利用Go提供的一些工具和参数,帮助写出更好的代码?golang
一. golint 检查代码规范 例如 golint player.go 或 golint game/ 并发
golint <directory|files>
golint 会检测的方面:编辑器
ps:连 a+=1 都要改成a++,a+=2反而没问题,有点接受不了!!!工具
二. go vet 检查代码存在的隐患 例如 go tool vet . 或 go tool vet game/ 性能
go tool vet <directory|files>
错误示例: https://studygolang.com/articles/9619测试
三. --race 检查是否有race condition(并发竞争) 例如:go run --race trace.go 或 go build --race trace.goui
golang在1.1以后引入了竞争检测的概念。咱们能够使用go run -race 或者 go build -race 来进行竞争检测。
golang语言内部大概的实现就是同时开启多个goroutine执行同一个命令,而且纪录每一个变量的状态。编码
可是这个参数会引起CPU和内存的使用增长,很耗性能,因此基本是在测试环境使用,不是在正式环境开启。spa
最后补一下编码规范,能够在goland编辑器使用插件go fmt,统一规范项目组的代码编写:插件
ok,that's all, thanks!