Go語言複合資料型別包括:陣列:固定大小元素集合,索引存取。切片:動態大小資料結構,可成長/縮小。映射:無序鍵值對集合。結構體:組織相關資料的複合型態。
Go 語言中的複合資料類型詳解
Go 語言中提供了多種複合資料類型,用於儲存和組織複雜資料結構。這些資料類型包括陣列、切片、映射和結構體。
陣列
陣列是固定大小的元素集合,每個元素都有固定的索引。陣列的語法如下:
var array_name [size]type
例如,一個包含5 個整數的陣列可以宣告為:
var numbers [5]int
切片
切片是類似陣列的動態大小資料結構。切片的語法如下:
var slice_name []type
與陣列不同,切片的大小可以根據需要動態增長或縮小。
var numbers = []int{1, 2, 3, 4, 5}
映射
映射是一種無序的鍵值對集合。映射的語法如下:
var map_name map[key_type]value_type
例如,一個將字串對應到整數的對應可以宣告為:
var ages = make(map[string]int) ages["Alice"] = 25 ages["Bob"] = 30
結構體
結構體是一種將相關資料組織在一起的複合類型。結構體的語法如下:
type struct_name struct { field_name1 type1 field_name2 type2 ... }
例如,一個表示人物的結構體可以宣告為:
type Person struct { name string age int }
實戰案例
在下面的程式碼在範例中,我們使用陣列、切片、映射和結構體來儲存和操作員工資料。
package main import "fmt" type Employee struct { name string salary float64 } func main() { // 数组 employees := [5]Employee{ {"Alice", 1000}, {"Bob", 1200}, {"Carol", 1400}, {"Dave", 1600}, {"Eve", 1800}, } // 遍历数组 for _, employee := range employees { fmt.Printf("%s earns $%.2f\n", employee.name, employee.salary) } // 切片 ages := []int{25, 30, 35, 40, 45} // 遍历切片 for _, age := range ages { fmt.Println(age) } // 映射 agesMap := make(map[string]int) agesMap["Alice"] = 25 agesMap["Bob"] = 30 agesMap["Carol"] = 35 // 访问映射值 fmt.Println(agesMap["Alice"]) // 结构体 employee := Employee{ name: "John", salary: 2000, } // 访问结构体字段 fmt.Println(employee.name, employee.salary) }
以上是Go語言中的複合資料型別解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!