Go 语言开发:结构体(Struct)
本文将带你了解 Go 语言中的结构体,包括结构体的定义、实例化和方法绑定。我们将通过一些实例和技巧,让你更好地理解和掌握结构体的使用。
1. 结构体的定义
在 Go 语言中,结构体(Struct)是一种复合数据类型,它可以包含多个不同类型的字段。我们可以将结构体看作是一个容器,它可以存储不同类型的数据,使得我们可以更加灵活地组织和管理数据。
示例 1:定义一个结构体
package main
import "fmt"
// 定义一个名为 Student 的结构体,包含 Name 和 Age 两个字段
type Student struct {
Name string
Age int
}
func main() {
// 实例化一个 Student 结构体
stu1 := Student{
"张三", 18}
// 访问结构体的字段
fmt.Println(stu1.Name) // 输出:张三
fmt.Println(stu1.Age) // 输出:18
}
在这个示例中,我们定义了一个名为 Student
的结构体,它包含 Name
和 Age
两个字段。然后我们通过 Student
类型实例化了一个结构体变量 stu1
,并访问了它的字段。
2. 结构体的实例化
实例化结构体是通过使用类型名和一对括号来创建一个结构体变量的过程。你可以为结构体字段赋予相应的值,或者使用 new()
函数来创建一个结构体变量并初始化它的字段。
示例 2:使用字面量值实例化结构体
package main
import "fmt"
// 定义一个名为 Person 的结构体
type Person struct {
Name string
Age int
}
func main() {
// 使用字面量值实例化一个 Person 结构体
p1 := Person{
"李四", 25}
// 访问结构体的字段
fmt.Println(p1.Name) // 输出:李四
fmt.Println(p1.Age) // 输出:25
}
在这个示例中,我们使用字面量值来实例化了一个名为 Person
的结构体变量 p1
。
示例 3:使用 new() 函数实例化结构体
package main
import "fmt"
// 定义一个名为 Employee 的结构体
type Employee struct {
Name string
Age int
ID int
}
func main() {
// 使用 new() 函数实例化一个 Employee 结构体
e1 := new(Employee)
// 为结构体的字段赋值
e1.Name = "王五"
e1.Age = 30
e1.ID