golang 怎么判斷一個(gè)結(jié)構(gòu)體有沒有被初始化過
1 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
ect1 := new(Rect)
rect2 := &Rect{}
rect3 := &Rect{0, 0, 100, 200}
rect4 := &Rect{width:100, height:200}
注意這幾個(gè)變量全部為指向Rect結(jié)構(gòu)的指針(指針變量),因?yàn)槭褂昧薾ew()函數(shù)和&操作符.而如果使用方法
a := Rect{}
則表示這個(gè)是一個(gè)Rect{}類型.兩者是不一樣的.參考代碼:
func main() {
rect1 := &Rect{0, 0, 100, 200}
rect1.x = 10
a := Rect{}
a.x = 15
fmt.Printf("%v\n%T\n", a, a)
fmt.Printf("%v\n%T\n", rect1, rect1)
}
運(yùn)行結(jié)果為:
{15 0 0 0}
main.Rect
&{10 0 100 200}
*main.Rect
- 1 回答
- 0 關(guān)注
- 2671 瀏覽
添加回答
舉報(bào)
0/150
提交
取消