配列とは
私の要約:ブロックを指す変数連続、長さ は 、同じタイプ 思い出の一枚。
#配列の定義方法
1 2 3 4 5 6 | package main
func main() {
var name_list [100]string
}
|
ログイン後にコピー
注:
##
1 2 3 4 | var 变量名 [元素个数]元素类型 等同于 var 变量名 变量类型
所以
var name1 [3]int != var name2 [4]int
因为变量类型是不一样,不可以直接进行赋值
|
ログイン後にコピー
数组初始化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | package main
import "fmt"
func main() {
var name_list = [...]int{1: 66, 4: 11}
fmt.Println(name_list)
}
|
ログイン後にコピー
数组遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package main
import "fmt"
func main() {
var name_list = [...]string{ "张三" , "李四" , "王五" , "小刘" }
for index, name := range name_list {
fmt.Println(index, name)
}
}
|
ログイン後にコピー
多维数组
二维数组
通常情况下,二维数组基本够用,最多三维数组,再套娃就完犊子了。
定义一个二维数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package main
import "fmt"
func main() {
var student_list = [3][2]string{
{ "张三" , "李四" },
{ "王五" , "小刘" },
{ "小七" , "王八" },
}
fmt.Println(student_list)
}
|
ログイン後にコピー
循环二维数组
同理,定义一个二维数组需要两层,循环也需要两层。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | package main
import "fmt"
func main() {
var student_list = [3][2]string{
{ "张三" , "李四" },
{ "王五" , "小刘" },
{ "小七" , "王八" },
}
for _, v := range student_list {
for _, b := range v {
fmt.Println(b)
}
}
}
|
ログイン後にコピー
多维数组是否可以长度推导
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package main
import "fmt"
func main() {
var student_list = [...][...]string{
{ "张三" , "李四" },
{ "王五" , "小刘" },
{ "小七" , "王八" },
}
fmt.Println(student_list)
}
|
ログイン後にコピー
报错

似乎是不可以的,那我只用第一层试试呢。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package main
import "fmt"
func main() {
var student_list = [...][2]string{
{ "张三" , "李四" },
{ "王五" , "小刘" },
{ "小七" , "王八" },
}
fmt.Println(student_list)
}
|
ログイン後にコピー

注:可以得出结论,在第一层时,是可以实现长度自动推导的。
以上がGo 言語の配列の基本を理解するのに役立つ記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。