标签 go 下的文章

Golang弃用go get工具

go get在g.mod中同时用于更新依赖和安装命令。这种组合很混乱,使用起来也很不方便,因为开发人员不想同时进行更新和安装。随着1.17.1版本的发布不再支持go get命令。那么以后如何安装依赖包呢?

golang中计算两个日期相差的月和年

  • go
time包有个函数Parse可以将时间字符串解析成Time对象,而Time对象有个Sub方法可以计算与某个时间的差,返回值是Duration对象,而Duration有一个Seconds方法,除以86400就是天数,再除以365就是多少年了

Go 的互斥锁

在使用 Go 构建 Web 应用程序时,所有传入的 HTTP 请求都会被路由到对应处理逻辑的 Goroutine 中。如果应用程序在处理请求的时候,有读写同一块内存数据, 就存在竞态条件的风险。( Spanner 支持 读写锁定 的事务模式,单个逻辑时间点以原子方式执行一组读写,不存在竞态条件问题)

go语言项目自动下载所有的依赖

  • go
大部分情况下大家下载 Go 项目都是使用`go get`命令,它除了会下载指定的项目代码,还会去下载这个项目所依赖的所有项目。但是有的时候我们的项目由于各种原因我们的项目会员很多包没有下载,要每个包都重新下载。这样的话怎么办呢?

谈谈Go Context

控制并发有两种经典的方式,一种是WaitGroup,另外一种就是Context,今天我就谈谈Context。WaitGroup是一种控制并发的方式,它的这种方式是控制多个goroutine同时完成。