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

gqzcl大约 6 分钟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
简单梳理一下GMP
Go的GMP模型主要是描述Go语言如何对协程进行调度,如何管理协程的生命周期。 Go语言中的众多协程依托于线程,GMP中的G表示的是协程,也就是程序中用go关键字创建的执行体,M表示的是实际的线程,P表示的是Go的逻辑处理器,是一种人为抽象的、用于执行Go代码的局部资源,只有当M与一个P关联之后才能执行Go代码。 在任一时刻,一个P在其本地可能包含多个...

gqzcl大约 4 分钟Golang相关Golang