真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

go語言中多態(tài)的用法

這篇文章給大家分享的是go語言中多態(tài)的用法,相信大部分人都還沒學會這個技能,為了讓大家學會,給大家總結了以下內容,話不多說,一起往下看吧。

創(chuàng)新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站設計、成都網站建設、昔陽網絡推廣、小程序定制開發(fā)、昔陽網絡營銷、昔陽企業(yè)策劃、昔陽品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯為所有大學生創(chuàng)業(yè)者提供昔陽建站搭建服務,24小時服務熱線:028-86922220,官方網址:www.cdcxhl.com

C++里面有多態(tài)是其三大特性之一,那么golang里面的多態(tài)我們該怎么實現?

golang里面有一個接口類型interface,任何類型只要實現了接口類型,都可以賦值,如果接口類型是空,那么所有的類型都實現了它。因為是空嘛。

golang里面的多態(tài)就是用接口類型實現的,即定義一個接口類型,里面聲明一些要實現的功能,注意,只要聲明,不要實現,

例如:type People interface {
    // 只聲明
    GetAge() int 
    GetName() string 
}

然后你就可以定義你的結構體去實現里面聲明的函數,你的結構體對象,就可以賦值到該接口類型了。

寫了一個測試程序:

package main
import (
    "fmt"
)
type Biology interface {
    sayhi()
}
type Man struct {
    name string
    age  int
}
type Monster struct {
    name string
    age  int
}
func (this *Man) sayhi()  { // 實現抽象方法1
    fmt.Printf("Man[%s, %d] sayhi\n", this.name, this.age)
}
func (this *Monster) sayhi()  { // 實現抽象方法1
    fmt.Printf("Monster[%s, %d] sayhi\n", this.name, this.age)
}
func WhoSayHi(i Biology) {
    i.sayhi()
}
func main() {
    man := &Man{"我是人", 100}
    monster := &Monster{"妖怪", 1000}
    WhoSayHi(man)
    WhoSayHi(monster)
}

運行結果:

Man[我是人, 100] sayhi

Monster[妖怪, 1000] sayhi

關于go語言中多態(tài)的用法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


當前題目:go語言中多態(tài)的用法
鏈接地址:http://weahome.cn/article/iijsdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部