GO里面没有类的定义,可以使用type 定义后再添加方法。
type Vertex struct {
X, Y float64
}
func (v *Vertex) Abs() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
func main() {
v := &Vertex{3, 4}
fmt.Println(v.Abs())
}
不仅是struct,也可以type一个int,这里要注意的是对于struct 和数组,方法需要使用传址而不是传值,要不然内部对其的改变无法再方法外部生效
下面是接口的定义
type Abser interface {
Abs() float64
}
如果type 实现了方法Abs()则其继承了接口Abser
并发:
go say("world")表示新建一个goroutine(GO管理的轻量级线程) 执行函数
还需了解Chanel 和 Select