方法一:通过var声明结构体
var t T
- 系统会自动初始化它的默认值,比如int初始化为0.指针初始化为nil,同样也会为结构体类型数据分配内存,此时类型为
T
方法二:通过new或&进行声明(new和&初始化方式相同)
t := new(T)
// 先定义结构体
type Rect struct {
width int
height int
}
// 再初始化结构体
rect1 := new(Rect)
rect2 := &Rect{}
rect3 := &Rect{10, 20}
rect4 := &Rect{width:10, height:20}
// 定义 + 初始化同时进行
rect5 := &struct{width int, height int}{10, 20}
- 使用new函数给一个新的结构体变量分配内存,它返回指向已分配内初的指针:
var t *T=new (T)