zoukankan      html  css  js  c++  java
  • 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的命令会永远的执行不完.

  • 相关阅读:
    idhttp post 上传或下载时显示进度条(对接idhttp1.OnWork事件)
    DBGridEh列宽自动适应内容的简单方法
    好的python链接
    Git安装和使用
    Git及码云学习总结
    创建编写博客园写博客
    Git和Github的使用
    sql sever 两数据表差异比较EXCEPT、INTERSECT
    Vue学习(七)capture模式
    Vue学习(六)计算属性和侦听属性的区别以及应用场景
  • 原文地址:https://www.cnblogs.com/miaoliangJUN/p/11881504.html
Copyright © 2011-2022 走看看