數(shù)組
定義:數(shù)組是具有相同唯一類型的一組已編號且長度固定的數(shù)據(jù)項(xiàng)序列懒闷,這種類型可以是任意的原始類型例如整型、字符串或者自定義類型魄健。
說明:看定義知道 數(shù)組的長度是固定的(跟 js和PHP不一樣喲)老客,其次類型是固定孟抗,定義了是什么類型就都是什么類型
數(shù)組的申明:
//申明一個數(shù)組:
var fruits [10] string
/**
fruits 表示數(shù)組的名字叫fruits
[10] 表示數(shù)組的長度為10
string 表示數(shù)組里面存的類型就是string類型
*/
初始化一個數(shù)組:
fruits := [5]string{"香蕉","草莓","車?yán)遄?,"耙耙柑","葡萄"}
/**
fruits 表示數(shù)組的名字叫fruits
[5] 表示數(shù)組的長度為5
string 表示數(shù)組里面存的類型就是string類型
"香蕉","草莓","車?yán)遄?,"耙耙柑","葡萄":表示初始化的值
*/
如果在定義數(shù)組之前不知這個數(shù)組有多長 我們可以用...表示:
fruits := [...]string{"香蕉","草莓","車?yán)遄?,"耙耙柑","葡萄"}
獲取數(shù)組中的元素:
現(xiàn)在數(shù)組中有"香蕉","草莓","車?yán)遄?,"耙耙柑","葡萄",我們?nèi)绾文玫竭@些值呢
數(shù)組元素可以通過索引(位置)來讀仁!(或者修改)唉匾,索引從 0 開始,第一個元素索引為 0匠楚,第二個索引為 1巍膘,以此類推。
如上圖芋簿,在下標(biāo)0的位置是香蕉 在下標(biāo)3的位置是耙耙柑
我們需要拿到耙耙柑:
fruits := [...]string{"香蕉","草莓","車?yán)遄?,"耙耙柑","葡萄"}
fmt.Println(fruits[3]) //結(jié)果為耙耙柑
我們需要向數(shù)組中添加元素:
var fruits [5] string
fruits[0] = "香蕉"
fruits[1] = "草莓"
fruits[2] = "車?yán)遄?
fruits[3] = "耙耙柑"
fruits[4] = "葡萄"
還可以這樣添加:
fruits := []string{}
fruits = append(fruits, "枇杷")
fmt.Println(fruits[0])//枇杷
遍歷數(shù)組一(for):
fruits := [...]string{"香蕉", "草莓", "車?yán)遄?, "耙耙柑", "葡萄"}
for i := 0; i < len(fruits); i++ {
fmt.Println(fruits[i])
}
遍歷數(shù)組二(range):
fruits := [...]string{"香蕉", "草莓", "車?yán)遄?, "耙耙柑", "葡萄"}
for _,v := range fruits{
fmt.Println(v)
}
二維數(shù)組
多維數(shù)組就是數(shù)組中的元素也是數(shù)組(數(shù)組里面存數(shù)組)
定義方式:
var arrayName [ x ][ y ] variable_type
variable_type 為 Go 語言的數(shù)據(jù)類型峡懈,arrayName 為數(shù)組名,二維數(shù)組可認(rèn)為是一個表格与斤,x 為行肪康,y 為列荚恶,下圖演示了一個二維數(shù)組 a 為三行四列:
二維數(shù)組中的元素可通過 a[ i ][ j ] 來訪問:
emperorAll := [][]string{}
emperor1 := []string{"姬昌","姬發(fā)","嬴政"}
emperor2 := []string{"劉邦","司馬懿","拓跋宏"}
emperorAll = append(emperorAll,emperor1)
emperorAll = append(emperorAll,emperor2)
fmt.Println(emperorAll[0][2])//嬴政
初始化二維數(shù)組:
a := [2][4]int{{11, 45, 67, 89}, {-100, -12, 99, 58}}
fmt.Println(a[1][3])//58
遍歷二位數(shù)組一(for):
a := [2][4]int{{11, 45, 67, 89}, {-100, -12, 99, 58}}
for i := 0; i < len(emperorAll); i++ {
for j := 0; j < len(emperorAll[i]); j++ {
fmt.Println(emperorAll[i][j])
}
}
遍歷二位數(shù)組一(range):
a := [2][4]int{{11, 45, 67, 89}, {-100, -12, 99, 58}}
for _,v := range a{
for _,val := range v{
fmt.Println(val)
}
}