基本的資料結構
Array
在宣告Array時必須要給定數組的長度n和元素的類型type。
Array每個型別預設存儲值
- bool:false
- int:0
- string:""
- float:0.0
var ary [n]type
slice
因為Array在長度宣告之後不能做修改,所以Go語言實現了另一種資料結構來處理可變長度的數據,slice可以視為一個可變長度的數組。
它包含三個部分:
- 指向數組的指針
- 切片中的元素個數
- 切片的長度
// 宣告一個slice
var slc []int
// 透過append新增一個元素
slc = append(slc, 1)
map
map是引用類型,多個變數操作同一個map物件時要小心。
var m map[key_type] value_type
// 宣告一個map,key為int,value為string
var m map [int] string
// 將m初始化
m = make(map[int] string)
// 也可以直接這樣寫
m := make(map[int] string)
struct
type identifier struct{
field_name field_data_type
field_name field_data_type
field_name field_data_type
}
// example
type student struct{
name string
age int
}
// struct 初始化(一)
var student student
student.name = "學生"
student.age = "18"
// struct 初始化(二)
var student = student{"學生", 18}
student := student{"學生", 18}
// struct 初始化(三)
var student = new(student)
student.name = "雄生"
student.age = 18