初始化结构体指针
· 阅读需 2 分钟
type User struct {
ID int
Name string
}
直接结构体指针(字面量写法) 🔔推荐
使用 &
符号直接创建结构体指针,并初始化字段. 推荐使用
优点:
- 字段与值显式对应,清晰直观
- 自动推导类型,减少冗余代码
- 字段顺序无关,结构体修改时更安全
u := &User{
ID: 1,
Name: "Alice",
}
先 new 后赋值
// 1. 分配内存,返回一个指向零值的指针
u := new(User)
// 2. 手动赋值字段
u.ID = 1
u.Name = "Alice"
按顺序初始化 不推荐
user := &User{2, "Alice"}
缺点:
- 必须严格匹配字段顺序,调整结构体字段顺序会导致初始化错误
- 可读性差,尤其当字段数量多或类型相似时容易出错