go中基于redis实现的分布式锁

我们在实际开发中,经常会遇到对共享变量进行多线程同步访问的情况,为了保证数据、业务的一致性,我们需要用到分布式锁进行处理。import ( "context" "errors" "fmt" "github.com/go-redis/redis/v8" "sync&quo

- 阅读全文 -

golang调试

引言:和PHP一样,虽然通过print的方式可以解决调试一部分代码,解决一些问题,但是总体效率并不高,而且有时候光看输入输出没办法排除一些代码逻辑问题,所以和所有强类型语言类型一样,所以通过断点,逐步调试还是很有必要的。在golang中调试需要借助调试组件delve1、安装delvego get -u github.com/derekparker/delve/cmd/dlv2、使用dlv命令调试g

- 阅读全文 -

GO module下载慢解决方案

go 11后包管理支持module模式,首先开启go module模式,linux和mac终端下运行export GO111MODULE=on或者写进环境变量 ~/.zshrc 或 ~/.bashrc然后下载相应包go get github.com/xxx/xx但是国内由于一些原因,下载官方的源很慢,手动去github下载相应源的方式有很慢,而且如果下载的不是官方的源,可能代理一定的风险。下面推荐

- 阅读全文 -