在 Go 语言中,结构体(Struct)是一种自定义的复合数据类型,用于组织和存储一组相关的数据字段。结构体可以包含各种类型的字段,包括基本类型、数组、切片、Map 和其他结构体等。以下是关于 Go 语言中结构体的使用和示例:
使用 type
关键字和 struct
关键字来定义结构体。
type Person struct {
Name string
Age int
City string
}
使用结构体类型的名称和初始化字段值来创建结构体实例。
p := Person{Name: "Alice", Age: 30, City: "New York"}
使用点号 .
操作符来访问结构体实例中的字段。
fmt.Println("Name:", p.Name)
fmt.Println("Age:", p.Age)
fmt.Println("City:", p.City)
结构体可以嵌套在其他结构体中,形成复杂的数据结构。
type Address struct {
Street string
City string
ZipCode string
}
type Person struct {
Name string
Age int
Address Address
}
可以在定义结构体实例时直接声明并初始化匿名结构体。
p := struct {
Name string
Age int
}{Name: "Bob", Age: 25}
可以为结构体定义方法,这些方法可以用于操作结构体的实例。
func (p Person) SayHello() {
fmt.Printf("Hello, my name is %s and I'm %d years old.\n", p.Name, p.Age)
}
p.SayHello() // 调用结构体方法
package main
import "fmt"
type Person struct {
Name string
Age int
City string
}
func main() {
p1 := Person{Name: "Alice", Age: 30, City: "New York"}
fmt.Println("Name:", p1.Name)
fmt.Println("Age:", p1.Age)
fmt.Println("City:", p1.City)
p2 := struct {
Name string
Age int
}{Name: "Bob", Age: 25}
fmt.Println("Name:", p2.Name)
fmt.Println("Age:", p2.Age)
}
结构体在 Go 语言中是非常常见和重要的数据类型,它可以用于组织和管理复杂的数据结构,并通过方法来操作和处理数据。
原文链接:codingdict.net