go开发经验
go
开发中,踩过的一些坑,此文章保持更新
1、在单元测试、集成测试、压力测试时,加入 -count=1
。避免测试时中间结果或测试数据缓存了,影响多次测试结果。
2、使用binary
包时,必须使用明确的长度确定的类型。(因为
intDataSize
和data.(type)
的存在。)
3、结构体需要作为参数,其他函数或方法用到,结构体里的每个变量必须大写开头,不然因为访问权限问题,是空值的。go
是没有做报错处理的,因此有时打印出来没有值,可能就是这个原因。
4、需要序列化和反序列化的结构体,字段首字母必须是大写,不然序列化是失败的。没有得到正确的返回值。
5、用代理 GOPROXY=https://athens.azurefd.net
。国内可用,文档在 https://docs.gomods.io/
6、go mod
如果一个工程里既引了github
的包又引了内网gitlab的包(而且内网没有https)该怎么操作呢?提示连接内网的包,用https方式连接错误,无法构建
解决办法:使用 -insecure
标记,下载依赖时才会用 http
方式。