菜单
×
   ❮   
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 提供支持