(*T)(nil)/new(T)&T{}
type Struct struct {
    Field int
}

func main() {
    test1 := &Struct{}
    test2 := new(Struct)
    test3 := (*Struct)(nil)
    fmt.Printf("%#v, %#v, %#v \n", test1, test2, test3)
    //&main.Struct{Field:0}, &main.Struct{Field:0}, (*main.Struct)(nil) 
}
(*T)(nil)
new(T)&T{}&T{}intnew(int)
(*T)(nil)Ttest3 := (*Struct)(nil)var test3 *Struct

这篇关于(* T)(nil)和& T {} / new(T)之间的区别是什么? Golang的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!