{site_name}

{site_name}

🌜 搜索

Go 语言的结构体(struct)是一种用户自定义数据类型,它可以包含零个或多个不同类型的字段

编程 𝄐 0
go语言的基本类型,go 语言 gui,go语言的语法,go语言chan,go语言的作用,go语言?
Go 语言的结构体(struct)是一种用户自定义数据类型,它可以包含零个或多个不同类型的字段。每个字段都有一个名称和一个类型,可以通过点操作符访问结构体中的字段。

下面是一个简单的示例:

go
type Person struct {
Name string
Age int
}

func main() {
p := Person{Name: "Alice", Age: 30}
fmt.Println(p.Name, p.Age)
}


在这个示例中,我们定义了一个名为 Person 的结构体,它有两个字段:Name 和 Age。然后我们创建了一个名为 p 的变量,并用值初始化它,这个值是一个 Person 类型的结构体字面量。最后,我们使用点操作符来访问 p 变量中的两个字段,并将它们打印出来。

此外,结构体还支持嵌套和匿名字段,这些特性可以让代码更加简洁清晰。以下是一个包含嵌套和匿名字段的示例:

go
type Address struct {
Street string
City string
State string
}

type Person struct {
Name string
Age int
Address // 匿名字段
}

func main() {
p := Person{Name: "Bob", Age: 42, Address: Address{Street: "123 Main St", City: "Anytown", State: "CA"}}
fmt.Println(p.Name, p.Age, p.Street, p.City, p.State) // 注意这里的访问方式
}


在这个示例中,我们定义了两个结构体:Address 和 Person。Person 结构体包含了一个匿名字段 Address,因此可以直接访问其字段。我们创建了一个 Person 变量并用值初始化它,然后使用点操作符来访问 Name 和 Age 字段以及嵌套的 Street、City 和 State 字段,并将它们打印出来。