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的命令会永远的执行不完.
goland学习-go常用命令使用的更多相关文章
- 一张图学习vim常用命令
一张图学习vim常用命令
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- Linux_学习_01_常用命令大全
一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...
- Git学习 --> 个人常用命令add,commit以及push
Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱 git config --global user.name <用户名> 我的命令就是:git confi ...
- Hexo学习笔记--常用命令及部署步骤
参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ...
- SQL学习笔记---常用命令
常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...
- Redis 学习之常用命令及安全机制
该文使用centos6.5 64位 redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...
- ionic学习笔记—常用命令
Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...
- docker学习笔记(1)概述、原理学习、常用命令
一.Docker概述 Docker是基于Go语言实现的云开源项目,诞生于2013年初,目前主流的Linux操作系统已支持Docker,如Redhat RHEL6.5/CentOS6.5.Ubuntu ...
随机推荐
- Java类型信息(RTTI和反射)
要想在IT领域站得住脚,必须得不断地学习来强化自己,但是学过的技术不实践很容易便被遗忘,所以一直都打算开个博客,来记录自己学的知识,另外也可以分享给有需要的人! 最近在学习反射,为了更好地理解反射,就 ...
- TwoHandleSlider/RangeSlider
项目需求:双滑块slider,可以实现选择一个范围 (一)添加两个slider,并把背景以及fill设置为透明,并去除RaycastTarget (二)在背景下添加个一个image,背景图为滑块划过后 ...
- seq2seq+attention解读
1什么是注意力机制? Attention是一种用于提升Encoder + Decoder模型的效果的机制. 2.Attention Mechanism原理 要介绍Attention Mechanism ...
- float使用0xFF
1. float f = 0xFFFFFFFF; 这一句完全是错误的用法,它不会使f变量内存变为4个0xFF,因为0xFFFFFFFF根本就不是有效的float数值,编译器无从处理,如果用printf ...
- Docker安装方法整理
目录 安装准备 在线安装 离线安装 Raspbian便捷脚本安装 卸载 安装准备: 卸载旧版本 较旧版本的Docker被称为docker或docker-engine.如果已安装,请卸载它们: sudo ...
- 2018.8.9 python中的动态传参与命名空间
主要内容: 1.函数参数 ----动态传参 2.名称空间与作用域 3.函数的嵌套 4.global,nonlocal关键字 一.函数参数 ------动态传参 形参的第三种:动态传参 动态传参分为两种 ...
- ios下app内嵌h5页面是video适配问题
ios下做新闻详情用h5页面实现然后打包到app中,其中新闻详情页会有视频,安卓下video的poster可以做到适应video大小,但是ios下会按照poster图片大小将video等比撑大,但是视 ...
- 开根号 HYSBZ - 3211
区间修改+区间查询(线段树板子题) 另外因为1e9内的数开5次根号必定为1或0,所以我们可以提前打表i<=sqrt[1e9], s[i]=sqrt(i).这样每次改值不必再调用系统的sqrt: ...
- 学习笔记34_EF上下文管理
*上下文对象dbContext最好不要频繁的使用Using(var dbContext = new ....):那么就会产生过多的数据库交互:而且每个dbContext中村的数据,由于操作不同,数据可 ...
- USDT跑分系统开发
USDT跑分系统开发找[林生:178-7666-2415微/电],USDT跑分系统开发,USDT跑分系统解决方案,USDT跑分系统定制,小程序开发.APP.公众号等软件开发. 数字资产结算通道的特点: ...