【Golang系列】-数组
2022-03-09
数组
数组是相同数据类型的一组数据的集合,数组一旦定义长度不能修改,数组可以通过下标(或者叫索引)来访问元素
数组定义
数组定义的语法:
var variable_name [SIZE] variable_tpye
- variable_name:数组名称
- SIZE:数组长度,必须是常量
- variable_tpye:数组保存元素的类型
import "fmt"
func f() {
var a [2]string
fmt.Println(a)
}
func main() {
f()
}
数组初始化
- 布尔:false
- 字符串:空
- int:0
package main
import "fmt"
func f() {
var a [2]string
var b [1]int
var c [1]bool
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
func main() {
f()
}
结果:
[Running] go run "/Users/lihui/Desktop/gocode/src/chapter05/dome01.go"
[ ]
[0]
[false]
[Done] exited with code=0 in 0.99 seconds
初始化列表初始化:
使用初始化列表,就是将值写在大括号里面
package main
import "fmt"
func f() {
var a = [2]string{"cao", "lihui"}
var b = [2]int{1, 2}
var c = [1]bool{true}
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
}
func main() {
f()
}
运行结果:
[Running] go run "/Users/lihui/Desktop/gocode/src/chapter05/dome01.go"
[cao lihui]
[1 2]
[true]
[Done] exited with code=0 in 0.914 seconds
省略数组长度
数组长度可以省略,使用...代替,自动推断
访问数组元素
可以通过下标的方式,来访问数据元素,数组的最大下标为数组长度-1,大于这个下标会发生数组越界
package main
import "fmt"
func f() {
var a [3]int
a[0] = 100
a[1] = 200
fmt.Println(a)
}
func main() {
f()
}
修改
package main
import "fmt"
func f() {
var a [3]int
a[0] = 100
a[1] = 200
fmt.Println("初始化赋值:", a)
fmt.Println("--------")
a[0] = 1
a[1] = 2
fmt.Println("修改后", a)
}
func main() {
f()
}
结果:
[Running] go run "/Users/lihui/Desktop/gocode/src/chapter05/dome01.go"
初始化赋值: [100 200 0]
--------
修改后 [1 2 0]
数组的长度
package main
import "fmt"
func f() {
var a = [3]int{1, 2, 3}
fmt.Println("初始化赋值:", a)
fmt.Println("数组的长度是:", len(a))
}
func main() {
f()
}
数组的遍历:
可以根据数组长度,通过for循环的方式 来遍历数组,数组的长度可以使用len函数来获得
package main
import "fmt"
func f() {
a := [...]int{1, 2, 3, 4, 5, 6}
for i := 0; i <= len(a); i++ {
fmt.Println(i)
}
}
func main() {
f()
}
下标
package main
import "fmt"
func f() {
var a1 = [3]int{1, 2, 3}
for i, v := range a1 {
fmt.Println(i, v)
}
}
func main() {
f()
}