goland学习-go常用命令使用

时间:2022-12-29 09:19:06

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)goland学习-go常用命令使用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("填入名称",函数名称)

    goland学习-go常用命令使用

    这个时候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的命令会永远的执行不完.