go

golang中锁Mutex与通道channel的选择

Mutex和channel 都可以在并发环境下对资源进行保护,避免竞态, channel 在 golang 中一直被追捧,但是既然都能解决问题,但为什么还要弄两个东西呢? 查阅一些文章,发现有些时候对于channel过于追捧了。有时...

go语言并发

go语言并发 //启动多个groutine var wg sync.WaitGroup //一个计数器一样的东西,用来统计gorountine的启动数量. func hello(i int) { defer wg.Done() fmt.Println("hello Goroutine!", i) }...

go语言 flag用法

go语言flag用法之一 package main import ( "flag" "log" ) var name string func main() { flag.Parse() //将命令解析为定义的标志,一遍后续的参数使用 args := flag.Args() //将传入...

golang gin日志中间件

我们有时候需要一些日志来判断做一些错误处理,虽然gin已经默认使用了一个很不错的中间件,但可能我们需要的信息并不在其中 下面我们自定义一个日志中间件,首先应该明确我们在日志中应该记录什么? 一般的...