mirror of
https://gitee.com/shikong-sk/golang-study
synced 2025-02-23 15:32:15 +08:00
docs: Array 数组
This commit is contained in:
parent
88e4c72f85
commit
aed95370cf
76
base/array/main.go
Normal file
76
base/array/main.go
Normal file
@ -0,0 +1,76 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
// 定义一个长度为 3 的 int 数组
|
||||
// var 变量名 [长度]类型
|
||||
// 定义后大小不可变
|
||||
// 如果未初始化 数组内元素 默认为对应类型的初始值
|
||||
var a1 [3]int
|
||||
fmt.Printf("a1: %T %+v\n", a1, a1)
|
||||
|
||||
// 指定长度 并初始化
|
||||
var a2 = [10]bool{false, true, false}
|
||||
fmt.Printf("a2: %T %+v\n", a2, a2)
|
||||
|
||||
// 根据元素数量自动推断长度
|
||||
// [...]类型{元素1,元素2...} 为数组
|
||||
// []类型{元素1,元素2...} 为 切片
|
||||
var a3 = [...]bool{true, true, false}
|
||||
fmt.Printf("a3: %T %+v\n", a3, a3)
|
||||
|
||||
// 指定元素下标
|
||||
var a4 = [...]bool{0: true, 2: true, 4: true}
|
||||
fmt.Printf("a4: %T %+v\n", a4, a4)
|
||||
|
||||
fmt.Println("=========================================================")
|
||||
|
||||
// 数组遍历
|
||||
for i, v := range a4 {
|
||||
fmt.Printf("%d, %v ", i, v)
|
||||
}
|
||||
|
||||
fmt.Println("\n=========================================================")
|
||||
|
||||
// 多维数组
|
||||
var a5 [3][2]int
|
||||
fmt.Printf("a5: %T %+v\n", a5, a5)
|
||||
|
||||
// 多维数组 初始化
|
||||
var a6 = [3][2]bool{
|
||||
1: {true, true},
|
||||
{false, 1: true},
|
||||
}
|
||||
fmt.Printf("a6: %T %+v\n", a6, a6)
|
||||
|
||||
// 多维数组遍历
|
||||
for i, a := range a6 {
|
||||
fmt.Printf("%d: %v => ", i, a)
|
||||
for j, v := range a {
|
||||
fmt.Printf("(%d, %v) ", j, v)
|
||||
}
|
||||
fmt.Printf("\t")
|
||||
}
|
||||
|
||||
fmt.Println("\n=========================================================")
|
||||
|
||||
// 数组 为 值类型
|
||||
// 支持 == != 操作符
|
||||
// [长度]*类型 为指针数组 *[长度]类型 为数组指针
|
||||
a7 := [...]int{1, 2, 3}
|
||||
a8 := a7
|
||||
a8[1] = 8
|
||||
|
||||
fmt.Println(a7)
|
||||
fmt.Println(a8)
|
||||
|
||||
fmt.Println("=========================================================")
|
||||
|
||||
// 切片 为 引用类型
|
||||
a9 := []int{1, 2, 3}
|
||||
a10 := a9
|
||||
a10[1] = 8
|
||||
fmt.Println(a9)
|
||||
fmt.Println(a10)
|
||||
}
|
Loading…
Reference in New Issue
Block a user