2 回答

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
從語(yǔ)言規(guī)范:
提升字段的作用類似于結(jié)構(gòu)的普通字段,只是它們不能用作結(jié)構(gòu)的復(fù)合文字中的字段名稱。
所以這就是它不起作用的原因。
以下是解決該限制的兩種可能方法,每種方法都在以下函數(shù)中進(jìn)行了說(shuō)明:
func main() {
d := &Derived{
Base{Field: 10},
}
e := new(Derived)
e.Field = 20
fmt.Println(d.Field)
fmt.Println(e.Field)
}

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
要初始化組合對(duì)象,您必須像任何其他對(duì)象一樣初始化嵌入字段:
package main
import (
"fmt"
)
type Base struct {
Field int
}
type Derived struct {
Base
}
func main() {
d := &Derived{
Base{10},
}
fmt.Println(d.Field)
}
- 2 回答
- 0 關(guān)注
- 172 瀏覽
添加回答
舉報(bào)