選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA 生成式 AI SCIPY AWS 網路安全 資料科學
     ❯   

Go 陣列


Go 陣列

陣列用於在單個變數中儲存相同型別的多個值,而不是為每個值宣告單獨的變數。


宣告陣列

在 Go 中,有兩種宣告陣列的方式

1. 使用 var 關鍵字

語法

var array_name = [length]datatype{values} // 此處長度已定義



var array_name = [...]datatype{values} // 此處長度由編譯器推斷

2. 使用 := 符號

語法

array_name := [length]datatype{values} // 此處長度已定義



array_name := [...]datatype{values} // 此處長度由編譯器推斷

注意:長度 指定要儲存在陣列中的元素數量。在 Go 中,陣列具有固定長度。陣列的長度可以透過數字定義,也可以由編譯器推斷(這意味著編譯器根據 values 的數量來決定陣列的長度)。


陣列示例

示例

此示例聲明瞭兩個具有已定義長度的陣列(arr1 和 arr2)

package main
import ("fmt")

func main() {
  var arr1 = [3]int{1,2,3}
  arr2 := [5]int{4,5,6,7,8}

  fmt.Println(arr1)
  fmt.Println(arr2)
}

結果

[1 2 3]
[4 5 6 7 8]
自己動手試一試 »

示例

此示例聲明瞭兩個具有推斷長度的陣列(arr1 和 arr2)

package main
import ("fmt")

func main() {
  var arr1 = [...]int{1,2,3}
  arr2 := [...]int{4,5,6,7,8}

  fmt.Println(arr1)
  fmt.Println(arr2)
}

結果

[1 2 3]
[4 5 6 7 8]
自己動手試一試 »

示例

此示例聲明瞭一個字串陣列

package main
import ("fmt")

func main() {
  var cars = [4]string{"Volvo", "BMW", "Ford", "Mazda"}
  fmt.Print(cars)
}

結果

[Volvo BMW Ford Mazda]
自己動手試一試 »


訪問陣列元素

您可以根據索引號訪問特定的陣列元素。

在 Go 中,陣列索引從 0 開始。這意味著 [0] 是第一個元素,[1] 是第二個元素,以此類推。

示例

此示例演示如何訪問價格陣列中的第一個和第三個元素

package main
import ("fmt")

func main() {
  prices := [3]int{10,20,30}

  fmt.Println(prices[0])
  fmt.Println(prices[2])
}

結果

10
30
自己動手試一試 »

更改陣列元素

您還可以透過引用索引號來更改特定陣列元素的值。

示例

此示例演示如何更改價格陣列中第三個元素的值: 

package main
import ("fmt")

func main() {
  prices := [3]int{10,20,30}

  prices[2] = 50
  fmt.Println(prices)
}

結果

[10 20 50]
自己動手試一試 »

陣列初始化

如果陣列或其某個元素在程式碼中未初始化,則會為其分配其型別的預設值。

提示: int 的預設值為 0,string 的預設值為 ""。

示例

package main
import ("fmt")

func main() {
  arr1 := [5]int{} //未初始化
  arr2 := [5]int{1,2} //部分初始化
  arr3 := [5]int{1,2,3,4,5} //完全初始化

  fmt.Println(arr1)
  fmt.Println(arr2)
  fmt.Println(arr3)
}

結果

[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]
自己動手試一試 »

僅初始化特定元素

可以僅初始化陣列中的特定元素。

示例

此示例僅初始化陣列中的第二個和第三個元素: 

package main
import ("fmt")

func main() {
  arr1 := [5]int{1:10,2:40}

  fmt.Println(arr1)
}

結果

[0 10 40 0 0]
自己動手試一試 »

示例解釋

 上面的陣列有 5 個元素。

  • 1:10 表示:將 10 賦值給陣列索引 1(第二個元素)。
  • 2:40 表示:將 40 賦值給陣列索引 2(第三個元素)。

查詢陣列的長度

len() 函式用於查詢陣列的長度

示例

package main
import ("fmt")

func main() {
  arr1 := [4]string{"Volvo", "BMW", "Ford", "Mazda"}
  arr2 := [...]int{1,2,3,4,5,6}

  fmt.Println(len(arr1))
  fmt.Println(len(arr2))
}

結果

4
6
自己動手試一試 »

Go 練習

透過練習來測試自己

練習

建立一個名為 cars 的字串型別陣列

package main   
import ("fmt") 
func main() { var = [4]{"Volvo", "BMW", "Ford", "Mazda"} fmt.Print() }

開始練習


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援