golang类型别名的设计初衷是为了解决代码重构时,类型在包(package)之间转移时产生的问题,类型别名是go1.9新引入的,和原类型完全一样; golang类型定义(或者应该叫类型再定义)的类型和原类型不一样。类型定义一般用在为一个类型添加一个方法使用?也就是方法前面的接受者?

阅读全文


前言

如果说goroutine和channel是Go并发的两大基石,那么接口是Go语言编程中数据类型的关键。在Go语言的实际编程中,几乎所有的数据结构都围绕接口展开,接口是Go语言中所有数据结构的核心。

Go不是一种典型的OO语言,它在语法上不支持类和继承的概念。

阅读全文

WaitGroup是一种控制并发的方式,它的这种方式是控制多个goroutine同时完成.一个很简单的例子,比如2个goroutine要同时都做完了,才算是完成,先做好的就要等着其他未完成的,所有的goroutine要都全部完成才可以.编程模式是wg.Add()->wg.Done()->wg.Wait()

另外一种是chan通知方式通知其他goroutine说我这个goroutine结束了,编程模式是select->case <- chan

通过Context来通知,编程模式是select->case <- ctx.Done() -> cancel()

Context控制多个goroutine,编程模式…

阅读全文

作者的图片

wang pengcheng

种树最好的时间是20年前,其次是现在。

容器云

中国.成都