在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
結構體可以作為函數的參數和返回值,也可以嵌套在其他結構體中使用。使用結構體可以更方便地組織和管理數據,提高代碼的可讀性和可維護性。