在Golang中,结构体(struct)是一种用户自定义的数据类型,用来表示一组相关的字段。结构体可以包含任意类型的字段,包括基本类型、数组、切片、映射和其他结构体等。
定义结构体的语法如下:
type Person struct {
Name string
Age int
Address string
}
上面的代码定义了一个名为Person的结构体,包含三个字段:Name、Age和Address,分别表示人的姓名、年龄和地址。
定义结构体之后,可以使用如下方式创建结构体变量并初始化:
// 使用字段名初始化
var person1 Person
person1.Name = "Alice"
person1.Age = 30
person1.Address = "123 Street"
// 使用字面量初始化
person2 := Person{
Name: "Bob",
Age: 25,
Address: "456 Road",
}
// 匿名结构体
person3 := struct {
Name string
Age int
}{
Name: "Cathy",
Age: 35,
}
可以通过点号(.)操作符访问结构体的字段:
fmt.Println(person1.Name) // 输出:Alice
fmt.Println(person2.Age) // 输出:25
fmt.Println(person3.Age) // 输出:35
结构体可以作为函数的参数和返回值,也可以嵌套在其他结构体中使用。使用结构体可以更方便地组织和管理数据,提高代码的可读性和可维护性。