golang比較好用的幾個小技巧

如何利用Go提供的一些工具和參數,幫助寫出更好的代碼?golang

一. 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 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!

相關文章
相關標籤/搜索