幕布斯6054654
ect1 := new(Rect)rect2 := &Rect{}rect3 := &Rect{0, 0, 100, 200}rect4 := &Rect{width:100, height:200}注意这几个变量全部为指向Rect结构的指针(指针变量),因为使用了new()函数和&操作符.而如果使用方法a := Rect{}则表示这个是一个Rect{}类型.两者是不一样的.参考代码:func main() {rect1 := &Rect{0, 0, 100, 200}rect1.x = 10a := Rect{}a.x = 15fmt.Printf("%v\n%T\n", a, a)fmt.Printf("%v\n%T\n", rect1, rect1)}运行结果为:{15 0 0 0}main.Rect&{10 0 100 200}*main.Rect