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

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

在方法聲明中將 _ 用于多個類型參數(shù)時出現(xiàn)“無法使用 .this”錯誤

在方法聲明中將 _ 用于多個類型參數(shù)時出現(xiàn)“無法使用 .this”錯誤

Go
智慧大石 2022-10-24 15:01:00
我正在使用 Go 處理類型參數(shù)(泛型)1.18beta1。問題考慮以下代碼段:package mainimport (    "fmt")func main() {    foo := &Foo[string, int]{        valueA: "i am a string",        valueB: 123,    }    fmt.Println(foo)}type Foo[T1 any, T2 any] struct {    valueA T1    valueB T2}func (f *Foo[_,_]) String() string {    return fmt.Sprintf("%v %v", f.valueA, f.valueB)}此代碼段無法構(gòu)建,并出現(xiàn)以下錯誤:<autogenerated>:1: cannot use .this (type *Foo[string,int]) as type *Foo[go.shape.string_0,go.shape.string_0] in argument to (*Foo[go.shape.string_0,go.shape.int_1]).String由于Type Parameters Proposal_中的以下語句,我嘗試在方法聲明中使用:方法聲明中列出的類型參數(shù)不必與類型聲明中的類型參數(shù)具有相同的名稱。特別是,如果方法不使用它們,它們可以是_。問題上面的構(gòu)建錯誤是錯誤1.18beta1還是我遺漏了什么?成功構(gòu)建的片段變體使用類型參數(shù)名稱String如果我將方法聲明更改為以下內(nèi)容(替換為_實際類型參數(shù)),我可以成功構(gòu)建代碼:func (f *Foo[T1,T2]) String() string {    return fmt.Sprintf("%v %v", f.valueA, f.valueB)}單一類型參數(shù)_僅使用單個類型參數(shù)時,我設(shè)法成功使用:package mainimport (    "fmt")func main() {    foo := &Foo[string]{"i am a string"}    fmt.Println(foo)}type Foo[T1 any] struct {    value T1}func (f *Foo[_]) String() string {    return fmt.Sprintf("%v", f.value)}為 T1 和 T2 實例化具有相同類型的 Foo_Foo如果用相同的類型實例化(例如string,對于T1和) ,也適用于方法聲明T2:package mainimport (    "fmt")func main() {    foo := &Foo[string, string]{        valueA: "i am a string",        valueB: "i am also a string",    }    fmt.Println(foo)}type Foo[T1 any, T2 any] struct {    valueA T1    valueB T2}func (f *Foo[_,_]) String() string {    return fmt.Sprintf("%v %v", f.valueA, f.valueB)}
查看完整描述

1 回答

?
月關(guān)寶盒

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

正如問題評論中提到的,所描述的行為是 Go 1.18beta1 中的一個錯誤,并由issue 50419跟蹤。

編輯

我已確認該錯誤已在2022 年 1 月 31 日發(fā)布的1.18beta2中修復(fù)。


查看完整回答
反對 回復(fù) 2022-10-24
  • 1 回答
  • 0 關(guān)注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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