Go简介
Google开发,新的具有面向接口、函数式编程、并发编程特点的编译性强类型通用编程语言
Go核心
1. 接口
2. 并发编程
3. 函数
Go-接口
package main import "fmt" // 定义了一个接口类型,吃和跑两个方法 type function interface { eat (string) run () } // 定义狗这个结构体 type Dog struct { Name string Age int } // 吃方法 func (self *Dog) eat(food string) { fmt.Println(self.Name, "eat..ing", food) } // 跑方法 func (self *Dog) run() { fmt.Println(self.Name, self.Age, "run ..ing") } // 猫 type Cat struct { Skin string Name string } // 吃 func (self *Cat) eat(food string) { fmt.Println(self.Name, "eat ...ing", food) } // 跑 func (self *Cat) run() { fmt.Println(self.Name, self.Skin, "run ..ing") } func main() { dog := &Dog{ Name: "xiaoHua", Age: 18, } var dogInterface function = dog dogInterface.eat("banana") dogInterface.run() cat := &Cat{ Name: "xiaoXiao", Skin: "white", } var catInterface function = cat catInterface.eat("fish") catInterface.run() }
观察发现,有以下特性
1. 接口只关心这个结构体是否实现接口中定义的方法
2. 结构体实现接口中所有方法,就认为实现了这个接口
3. 接口类型不关心对象是谁,只关心对象是否全部实现接口中的方法
Go-并发编程
关键字 go
相关数据结构 channel 进程之间通信,采用csp模型
Go-函数编程
在Go语言中,函数是第一等公民。Go中通过结构体封装函数运行时候需要的数据,通过包封装函数。