第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Go 的奇妙旅程:Go 語(yǔ)言接口

標(biāo)簽:
Go

接口是一组方法的集合,然后我们可以定义一个结构体实现该接口所有方法。也就是说,接口定义了对象的所有方法。
比如说,结构体 phone 可以 call_number 或 send_message。那么如果一个接口声明了 call_number 和 send_message 的方法,而 ipenguin 实现了这两个方法,那么 ipenguin 就实现了该接口。
接口的主要工作是仅提供由方法名称,输入参数和返回类型组成的方法签名集合。我们使用类型(例如 struct 结构体)来声明方法并实现它们。
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。

/* 定义接口 */
type phone interface {
   call_number
   send_message
}

/* 定义结构体 */
type ipenguin struct {
}

/* 实现接口方法 */
func (ipenguin ipenguin) call_number() call_number() {
    /* 建立通信连接 */
}
...
func (ipenguin ipenguin) send_message() send_message() {
   /* 发送短信 */
}

func main() {
    var p phone

    p = new(ipenguin)
    p.call_number()
}

在上面的例子中,我们定义了一个接口 phone,接口里面有一个方法 call_number() 与 send_message()。然后我们在 main 函数里面定义了一个 p 类型变量,并分别为之赋值为 ipenguin,然后我们调用了 call_number() 方法。
使用接口
接口会在需要传递不同类型的值的函数和方法的情况下非常有用 —— 就比如说接受所有类型的值的 Println 函数。
如果你去翻翻 Println 函数的源代码,那你会看到这个:
func Println(a …interface{}) (n int, err error)
复制代码
这其实就是一种可变函数!
当多个类型实现相同的接口时,我们能够使用相同的代码,非常简单实现兼容!因此,只要我们可以使用接口,我们就应该尽量使用它。

作者:Hoarfroster
链接:https://juejin.cn/post/6953229610708533262
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
數(shù)據(jù)庫(kù)工程師
手記
粉絲
42
獲贊與收藏
204

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消