Go 结构体 — 自定义数据类型
用 struct 定义数据结构,面向数据编程 · 难度:入门 · +20XP
struct — Go 的"对象"
Go 没有 class,用 struct(结构体)组织数据。它是多个字段的组合。
定义和使用结构体
type User struct {
Name string
Age int
Email string
}
// 创建实例
u1 := User{Name: "张三", Age: 25, Email: "zs@qq.com"}
u2 := User{"李四", 22, "ls@qq.com"} // 按顺序,不推荐
var u3 User // 零值初始化
// 访问字段
fmt.Println(u1.Name)
u1.Age = 26
结构体方法
// 值接收者(不修改原值)
func (u User) Greet() string {
return "你好," + u.Name
}
// 指针接收者(修改原值)
func (u *User) Birthday() {
u.Age++
}
u := User{Name: "张三", Age: 25}
u.Birthday()
fmt.Println(u.Age) // 26