Golang 接口

定義

把全部的具備共性的方法定義在一塊兒,任何其餘類型只要實現了這些方法就是實現了這個接口函數

舉例

接口Phone, 有一個函數call測試

type Phone interface {
    call()
}

定義2個strctspa

type NokiaPhone struct {
}
type Samsung struct {
}

實現接口中的call()函數指針

func (nokiaPhone NokiaPhone) call() {
    fmt.Println("I'm NokiaPhone, call.....")
}



func (samsung Samsung) call() {
    fmt.Println("I'm Sumsung, call........")
}

測試code

    var phone Phone

    phone = new(NokiaPhone)
    fmt.Printf("%p, %T", phone, phone)  // %p 輸出指針地址,%T 輸出類型
    phone.call()

    phone = new(Samsung)
    phone.call()

輸出blog

0x121bf38, *basicTest.NokiaPhone
I'm NokiaPhone, call.....
I'm Sumsung, call........

注意:new 獲得的是個指針接口

相關文章
相關標籤/搜索