goland學習-go常用命令使用


goland學習-go常用命令使用

1.跨平台編譯:env GOOS=linux GOARCH=amd64 go build

2.獲取go第三方包:go get -u github.com/go-sql-driver/mysql 從github上面獲取mysql並安裝到本地

3.完全標准化go代碼:go fmt

4.go test模塊

  a)運行當前包目錄下面的tests

  b)常用命令go test或者go test -v

  c)test的例子,一般按照XXX_test.go命名

 

  d)每個test文件一定要import testing

  e)每一個test文件里面的每一個test case一定要符合Test的形式,否則不執行

  f)test case的入參為 t *testing.T或者b *testing.B (t.Errof("")退出test case)

  g)t.SkipNow()可以當前想要跳過當先運行的test case,一定要寫在test case的第一行

  h)test順序,因為go test 並不會保證test case按照編寫順序運行,只是大多數情況會按照順序執行,這個使用使用t.Run()函數

    t.Run("填入名稱",函數名稱)

    

    這個時候testPrint會比testPrint2優先執行

  i)使用testMain來初始化test,比如數據庫連接,文件打開.當test的文件里面寫了TestMain之后其他的test case會不會執行取決於TestMain有沒有調用m.Run(),如果沒有寫,那么其他的test case 都不會執行.

5. go test -bench=.

  a)benchmark函數一般以benchmark開頭

  b)benchmark的case一般會跑b.N次,而且沒吃執行都會如此

  c)實際運行時間會根據實際case的執行時間是否穩定鄭家b.N的次數.(就是會一直跑直到運行時間穩定為止)

  d)benchmark 的case本身也是test case之一,所以如果寫了TestMain那么TestMain也要帶有m.run()才會運行

  e)如果是帶了-bench參數只會測試帶有benchmark簽名的函數

  f)要注意的是benchmark測試的函數本身不會到達穩態,那么benchmark的命令會永遠的執行不完.


免責聲明!

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



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