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

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

傳遞具有精確約束的類型參數(shù)以使用該參數(shù)運行?

傳遞具有精確約束的類型參數(shù)以使用該參數(shù)運行?

Go
qq_花開花謝_0 2023-03-21 10:31:42
我開始使用 Go 泛型并且很難理解為什么這段代碼無法編譯:func f(string) {}func xyz[T string](p T) {    f(p) // Error! Cannot use 'p' (type T) as the type string}在 function 中xyz,為什么不能假定 T 上存在類型約束,使得 T 是字符串類型?我知道我可以簡單地寫f(string(p)),但我仍然對問題的答案感興趣。
查看完整描述

1 回答

?
瀟瀟雨雨

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

這是因為assignability規(guī)則,在您的特定情況下,這是最后一條規(guī)則。

V 是類型參數(shù),T 不是命名類型,并且 V 的類型集中的每個類型的值都可以分配給 T。

Typestring命名類型,因此,即使 的T類型集中的每個類型都可分配給string,類型參數(shù)T本身也不可分配給string。

您可以將其與未命名類型進行比較。

func f([]string) {}


func xyz[T []string](p T) {

    f(p) // no issue

}


查看完整回答
反對 回復 2023-03-21
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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