亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

golang多態怎么實現

小億
82
2023-11-01 23:10:15
欄目: 編程語言

在Go語言中,多態可以通過接口和類型斷言來實現。

  1. 使用接口實現多態:

定義一個接口,包含多個方法。

type Animal interface {
    Sound() string
}

定義多個結構體,并實現接口的方法。

type Dog struct{}

func (d Dog) Sound() string {
    return "汪汪汪"
}

type Cat struct{}

func (c Cat) Sound() string {
    return "喵喵喵"
}

使用多態:

func main() {
    animals := []Animal{Dog{}, Cat{}}

    for _, animal := range animals {
        fmt.Println(animal.Sound())
    }
}
  1. 使用類型斷言實現多態:

定義一個接口,可以為空接口interface{},表示任意類型。

type Animal interface {
    Sound() string
}

定義多個結構體,并實現接口的方法。

type Dog struct{}

func (d Dog) Sound() string {
    return "汪汪汪"
}

type Cat struct{}

func (c Cat) Sound() string {
    return "喵喵喵"
}

使用多態:

func main() {
    animals := []interface{}{Dog{}, Cat{}}

    for _, animal := range animals {
        if a, ok := animal.(Animal); ok {
            fmt.Println(a.Sound())
        }
    }
}

以上兩種方法都可以實現多態,具體使用哪種方法取決于實際需求和代碼設計。

0
安远县| 鄂托克前旗| 霍邱县| 平远县| 尼玛县| 贵南县| 格尔木市| 托克逊县| 奉贤区| 顺平县| 马鞍山市| 雷州市| 车险| 紫金县| 浪卡子县| 木兰县| 镇巴县| 富锦市| 南投县| 厦门市| 曲麻莱县| 伊金霍洛旗| 宕昌县| 嘉定区| 宁国市| 平和县| 莆田市| 浦东新区| 平江县| 汨罗市| 陇南市| 陇西县| 青龙| 灌阳县| 全椒县| 固阳县| 隆子县| 远安县| 巩留县| 云梦县| 庆阳市|