跳至主要內容
Golang中Test使用及技巧
单元测试 单元测试的目的是隔离程序中的每个部分,并表明每个部分是正确的。这样可以可以在代码编写初期发现问题。 原则 单元测试关注的是行为是否正常,而不是函数具体的实现。; 单元测试要做到细粒度,为每个最小可测试单元编写测试,但不需要追求为每个函数都编写单元测试,只需要覆盖即可。; 单元测试应该只关注函数的入参和出参,在单元测试中应当尽量减少一些复杂操作...

gqzcl大约 6 分钟Golang相关Golang
使用cz-cli来规范git-commit
一般提交commit都会要写Commit message,目的是为了提供一些信息,方便以后更好的翻阅,所以对Commit meaage进行一些书写规范是很有必要的。 对于Commit message的规范,社区也有很多种,不过使用最多的还是Angular规范 (https://docs.google.com/document/d/1QrDFcIiPjS...

gqzcl原创大约 3 分钟博文Golanggit
gorm
概述 sql.DB不是一个连接,它是数据库的抽象接口。它可以根据driver打开关闭数据库连接,管理连接池。正在使用的连接被标记为繁忙,用完后回到连接池等待下次使用。所以,如果你没有把连接释放回连接池,会导致过多连接使系统资源耗尽。 使用DB 导入driver 这里使用的是MySQL drivers (https://github.com/go-sql...

gqzcl大约 7 分钟Golang后端Golang
gorm
当我们在说 slice 时,到底在说什么 slice 翻译成中文就是切片,它和数组(array)很类似,可以用下标的方式进行访问,如果越界,就会产生 panic。但是它比数组更灵活,可以自动地进行扩容。 了解 slice 的本质,最简单的方法就是看它的源代码: 看到了吗,slice 共有三个属性: 指针,指向底层数组; 长度,表示切片可用元素的个数,也...

gqzcl大约 21 分钟Golang后端Golang
Goland 使用
关于[GO111MODULE](https://zhuanlan.zhihu.com/p/374372749 ) 1.17不再支持GO111MODULE了,所以新项目不需要配置这个了 应该从1.13就可以不用配置这个变量了 创建项目 新版本当然是使用go mod了 image.png 可以在创建项目的时候配置好环境变量 配置 设置一下自动格式化 添加一...

gqzcl小于 1 分钟Golang相关Golang
Go中的锁
Go 精妙的互斥锁设计 (https://mp.weixin.qq.com/s/IgvGXVeUUqt_UpY1VnxAPw) 原子锁 为了解决并发访问数据时数据冲突和内存操作乱序的问题,需要一种原子性的操作,这通常需要硬件的支持,如x86指令集中的LOCK操作,Go语言中的sync/atomic包提供了原子操作。 如下使用原子操作将count+1并不...

gqzcl大约 9 分钟Golang相关Golang
Go技巧
go 参考资料 go 实效编程 (https://go-zh.org/doc/effective_go.html); go by example (https://gobyexample-cn.github.io/); 2^n 最大的int 判断变量类型 方法一 output: type:int32 type:uint8 type:int32 type...

gqzcl大约 16 分钟Golang相关Golang
Go编程规范
Version of 2020年1月14日 Introduction 引言 This is a reference manual for the Go programming language. For more information and other documents, see golang.org (http://docscn.studygo...

gqzcl大约 67 分钟Golang相关Golang
Uber_Go语言编码规范
📢 Version of 2021-3-17 转自 uber-go/guide (https://github.com/uber-go/guide) Uber Go 语言编码规范 Uber (https://www.uber.com/) 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gop...

gqzcl大约 32 分钟Golang相关Golang
实效go编程
📢 版本:2013年12月22日 引言 Go 是一门全新的语言。尽管它从既有的语言中借鉴了许多理念,但其与众不同的特性, 使得使用Go编程在本质上就不同于其它语言。将现有的C++或Java程序直译为Go 程序并不能令人满意——毕竟Java程序是用Java编写的,而不是Go。 另一方面,若从Go的角度去分析问题,你就能编写出同样可行但大不相同的程序。 ...

gqzcl大约 76 分钟Golang相关Golang
2