go 復合型別

2021-09-25 17:03:12 字數 620 閱讀 5673

1.陣列

1)陣列是擁有固定長度且擁有零個或者多個相同資料型別元素的序列。

2)初始值預設為元素型別的零值

3)如果"..."出現在陣列長度的位置,則陣列的長度由初始化陣列的元素個數決定

4)陣列長度是陣列型別的一部分,[3]int 和 [4]int 是不同的型別,不能互相賦值

也就是說陣列長度在編譯時就已經確定了

2.slice  英/slaɪs/

1)slice表示乙個擁有相同型別元素的可變長度的序列,t表示,看上去是可變長度的陣列。

2)slice是一種輕量級的資料結構,有三個屬性:指標,長度,容量。

3)判斷乙個slice是否為空,使用len(s) == 0,不能用s == nil,因為s!=nil,s也有可能為空。

4)每次slice容量的改變,意味著一次底層陣列重新分配和元素複製

3.map

1) 和slice一樣,map不能進行比較,唯一合法的比較就是和nil比較。

4.結構體

1) 結構體可以使用簡單的表示式就可以代表連續的成員。

GO 復合型別 切片

相當於長度可以擴張的陣列 經過陣列擷取的片段就是切片 func main01 擷取陣列的前9位 slice array 0 9 fmt.printf array的資料型別是 t n array fmt.printf slice的資料型別是 t,值是 v n slice,slice 下標為0開始擷取5...

GO 復合型別3 對映

對映概述 建立map func demo81 var mmp map string int var mmp map string int 通過內建函式make建立 mmp make map string int 建立乙個string為鍵,值為任意型別的map mmp make map string ...

GO 復合型別5 結構體

定義結構體 type book struct建立物件時直接對屬性賦值 func demo91 fmt.printf type t,value v n b,b 建立空白物件,並逐一對屬性賦值 func demo92 b.name 水許傳 b.price 34.56 fmt.printf type t,...