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. 接口类型不关心对象是谁, 只关心对象是否全部实现接口中的方法
来源: http://www.bubuko.com/infodetail-2600544.html