1.1.1. 一、多肽的说明。

多肽是面向对象的三大特征之一,golang中多肽通过接口实现。

比如:定义方法或函数的时候,参数可以是一个接口类型,实际调用的时候可以传递这个接口的实现。

1.1.2. 二、多肽的示例:

1、多肽参数:

test 函数接收接口做参数。实现多肽。

// 接口
type IUser interface {
    Add(num1 int,num2 int) int
}

type UserImpl struct {
}
// 接口的实现
func (ui UserImpl) Add(num1 int,num2 int) int  {
    return num1 + num2
}

// 多肽,接收接口做参数
func test(iu IUser)  {
    fmt.Println(iu.Add(13,45))
}

func main() {
    ui := UserImpl{}
    //调用函数,传递接口的实现
    test(ui)
}

2、多肽数组:

Cat 和Dog 都实现了Sports接口。声明Sports类型的数组之后,里面可以存放Cat 和Dog。

// 接口
type Sports interface {
    Run()
}

// 猫
type Cat struct {
}
func (c Cat) Run() { // 接口的实现
    fmt.Println("小猫跑步。。。")
}
// 狗
type Dog struct {
}
func (c Dog) Run() { // 接口的实现
    fmt.Println("小狗跑步。。。")
}


func main() {
    var testArr [3]Sports
    testArr[0] = Cat{}
    testArr[1] = Dog{}

    // [{} {} <nil>]
    fmt.Println(testArr)
}

results matching ""

    No results matching ""