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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go泛型:泛型類型約束的語法

Go泛型:泛型類型約束的語法

Go
蕭十郎 2022-12-19 21:35:05
在 Go Language reference 中,關(guān)于Type parameter declarations的部分,我看到[P Constraint[int]]了一個類型參數(shù)示例。這是什么意思?如何在通用函數(shù)定義中使用此結(jié)構(gòu)?
查看完整描述

2 回答

?
楊__羊羊

TA貢獻1943條經(jīng)驗 獲得超7個贊

它是一個類型參數(shù)列表,如您鏈接的段落中所定義,它有一個類型參數(shù)聲明:

  • P作為類型參數(shù)名稱

  • Constraint[int]作為約束

whereasConstraint[int]是泛型的實例化(您必須始終在使用時實例化泛型)。

在語言規(guī)范的那段中,Constraint沒有定義,但它可以合理地成為一個通用接口:


查看完整回答
反對 回復(fù) 2022-12-19
?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

type Constraint[T any] interface {

    DoFoo(T)

}


type MyStruct struct {}


// implements Constraint instantiated with int

func (m MyStruct) DoFoo(v int) { 

    fmt.Println(v)

}

您可以像使用任何類型參數(shù)約束一樣使用它:


func Foo[P Constraint[int]](p P) {

    p.DoFoo(200)

}


func main() {

    m := MyStruct{} // satisfies Constraint[int]

    Foo(m)

}

游樂場:https ://go.dev/play/p/aBgva62Vyk1


查看完整回答
反對 回復(fù) 2022-12-19
  • 2 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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