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

goland学习-go常用命令使用的更多相关文章

  1. 一张图学习vim常用命令

    一张图学习vim常用命令

  2. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...

  3. Linux_学习_01_常用命令大全

    一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...

  4. Git学习 --> 个人常用命令add,commit以及push

    Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git confi ...

  5. Hexo学习笔记--常用命令及部署步骤

    参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ...

  6. SQL学习笔记---常用命令

    常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...

  7. Redis 学习之常用命令及安全机制

    该文使用centos6.5 64位    redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...

  8. ionic学习笔记—常用命令

    Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...

  9. docker学习笔记(1)概述、原理学习、常用命令

    一.Docker概述 Docker是基于Go语言实现的云开源项目,诞生于2013年初,目前主流的Linux操作系统已支持Docker,如Redhat RHEL6.5/CentOS6.5.Ubuntu ...

随机推荐

  1. Java类型信息(RTTI和反射)

    要想在IT领域站得住脚,必须得不断地学习来强化自己,但是学过的技术不实践很容易便被遗忘,所以一直都打算开个博客,来记录自己学的知识,另外也可以分享给有需要的人! 最近在学习反射,为了更好地理解反射,就 ...

  2. TwoHandleSlider/RangeSlider

    项目需求:双滑块slider,可以实现选择一个范围 (一)添加两个slider,并把背景以及fill设置为透明,并去除RaycastTarget (二)在背景下添加个一个image,背景图为滑块划过后 ...

  3. seq2seq+attention解读

    1什么是注意力机制? Attention是一种用于提升Encoder + Decoder模型的效果的机制. 2.Attention Mechanism原理 要介绍Attention Mechanism ...

  4. float使用0xFF

    1. float f = 0xFFFFFFFF; 这一句完全是错误的用法,它不会使f变量内存变为4个0xFF,因为0xFFFFFFFF根本就不是有效的float数值,编译器无从处理,如果用printf ...

  5. Docker安装方法整理

    目录 安装准备 在线安装 离线安装 Raspbian便捷脚本安装 卸载 安装准备: 卸载旧版本 较旧版本的Docker被称为docker或docker-engine.如果已安装,请卸载它们: sudo ...

  6. 2018.8.9 python中的动态传参与命名空间

    主要内容: 1.函数参数 ----动态传参 2.名称空间与作用域 3.函数的嵌套 4.global,nonlocal关键字 一.函数参数 ------动态传参 形参的第三种:动态传参 动态传参分为两种 ...

  7. ios下app内嵌h5页面是video适配问题

    ios下做新闻详情用h5页面实现然后打包到app中,其中新闻详情页会有视频,安卓下video的poster可以做到适应video大小,但是ios下会按照poster图片大小将video等比撑大,但是视 ...

  8. 开根号 HYSBZ - 3211

    区间修改+区间查询(线段树板子题) 另外因为1e9内的数开5次根号必定为1或0,所以我们可以提前打表i<=sqrt[1e9], s[i]=sqrt(i).这样每次改值不必再调用系统的sqrt: ...

  9. 学习笔记34_EF上下文管理

    *上下文对象dbContext最好不要频繁的使用Using(var dbContext = new ....):那么就会产生过多的数据库交互:而且每个dbContext中村的数据,由于操作不同,数据可 ...

  10. USDT跑分系统开发

    USDT跑分系统开发找[林生:178-7666-2415微/电],USDT跑分系统开发,USDT跑分系统解决方案,USDT跑分系统定制,小程序开发.APP.公众号等软件开发. 数字资产结算通道的特点: ...