標籤:port 等價 const str range 資料類型 複合 表數 ice
複合資料型別
主要討論四種類型——數組、slice、map和結構體
數組和結構體彙總類型 --數組和結構體都是有固定記憶體大小的資料結構
--數組:由同構的元素組成——每個數組元素都是完全相同的類型
--結構體:由異構的元素組成
slice和map則是動態資料結構,它們將根據需要動態增長。
一。數組
package mainimport ( "fmt")func main() { var a [3]int //聲明數組,預設數組每個元素都被初始化為0值 fmt.Println(a[0]) //列印a數組的第1個元素值 0 fmt.Println(a[len(a)-1]) //列印a數組的倒數第1個值 0 fmt.Println("====================================") for i,v:=range a{ //range a:將a數組的索引和值分別賦值給i和v fmt.Printf("%d %d\n",i,v) //列印值 0 0 // 1 0 // 2 0 } fmt.Println("====================================") for _,v:=range a{ //range a:將a的索引值賦值給_代表不關心索引值,將a數組值迴圈賦值給v fmt.Printf("%d\n",v) //列印值 0 // 0 // 0 } fmt.Println("====================================") var p [3]int=[3]int{1,2,3} //初始化數組,值為1,2,3 p1:=[...]int{1,2,3} //同上述p等價,數組長度位置"...",代表數組長度根據初始化值個數計算 fmt.Printf("%T\n",p1) //[3]int var q [3]int=[3]int{1,2} //初始化數組,值為1,2,0}
package mainimport ( "fmt")func main() { type Currency int const ( USD Currency = iota // 美元 EUR // 歐元 GBP // 英鎊 RMB // 人民幣 ) symbol := [...]string{USD: "$", EUR: "€", GBP: "£", RMB: "¥"} fmt.Println(RMB, symbol[RMB]) // "3 ¥"}
Go語言入門篇-複合資料型別