Appearance
数组
- 数组: 数组是存储相同类型的数据的集合。
- 数组在定义的时候确定长度,不可以增加,不可以减少。
一维数组
- 格式:
var arrayName [size]type
go
// 方式1 声明
var arr1 [3]int
arr1[0] = 1
arr1[1] = 2
arr1[2] = 3
// 方式2 声明+初始化
var arr2 = [3]int{1, 2, 3}多维数组
- 格式:
var arrayName [size1][size2]...[sizeN]type
go
// 创建二维数组
sites := [2][2]string{}
// 向二维数组添加元素
sites[0][0] = "Google"
sites[0][1] = "Runoob"
sites[1][0] = "Taobao"
sites[1][1] = "Weibo"
// 显示结果
fmt.Println(sites)输出结果
[[Google Runoob] [Taobao Weibo]]
元素操作
创建数组
go
arr := [5]string{"I'm"}编辑元素
go
arr[4] = "monkey"
fmt.Println(arr)输出结果
[I'm like cat and monkey]
截取元素
go
fmt.Println("取第一个元素", arr[0])
// 可以简写为arr[:2],表示从索引0开始取,直到索引2(不包含索引2)
fmt.Println("取下标0-1的元素", arr[0:2])
// 表示从索引3开始取,直到数组末尾
fmt.Println("取下标3之后的元素", arr[3:])输出结果
取第一个元素 I'm
取下标0-1的元素 [I'm like]
取下标3之后的元素 [and monkey]
查询元素
- go 没有直接方法查询数组是否存在某个元素
- 可以通过遍历数组, 比较每个元素是否等于目标元素, 来判断数组是否存在某个元素.
go
// 定义一个数组变量
arr := [5]string{"I'm", "like", "cat", "and", "monkey"}
str1 := "cat"
for _,value := range arr{
if value == str1{
fmt.Println("数组存在元素", str1)
}
}任意数组
go
// 定义 任意类型数组,且不限长度
var arr1 [][]interface{} = [][]interface{}{
{1, 2, 3},
{"a", "b", "c"},
{1, "a", 1.1},
}