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 tool vet <directory|files>

錯誤示例: https://studygolang.com/articles/9619


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM