go基礎(chǔ)(7)數(shù)組

數(shù)組

定義:數(shù)組是具有相同唯一類型的一組已編號且長度固定的數(shù)據(jù)項序列,這種類型可以是任意的原始類型例如整型、字符串或者自定義類型。
說明:看定義知道 數(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,以此類推。


image.png

如上圖,在下標(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 為三行四列:


image.png

二維數(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)
        }
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容