Go语言之集合类型

06-27 1163阅读

个人网站:

http://hardyfish.top/

免费书籍分享:

资料链接:https://url81.ctfile.com/d/57345181-61545511-81795b?p=3899

访问密码:3899

Go语言之集合类型

免费专栏分享:

资料链接:https://url81.ctfile.com/d/57345181-61616236-5d1496?p=3899

访问密码:3899

Array(数组)

数组存放的是固定长度、相同类型的数据,而且这些存放的元素是连续的。

所存放的数据类型没有限制,可以是整型、字符串甚至自定义。

数组声明:

在下面的代码示例中,声明了一个字符串数组,长度是 5,所以其类型定义为 [5]string,其中大括号中的元素用于初始化数组。

此外,在类型名前加 [] 中括号,并设置好长度,就可以通过它来推测数组的类型。

注意:[5]string 和 [4]string 不是同一种类型,也就是说长度也是数组类型的一部分。

array:=[5]string{"a","b","c","d","e"}

如下面代码所示,运行它,可以看到输出打印的结果是 c,也就是数组 array 的第三个元素:

func main() {
    array:=[5]string{"a","b","c","d","e"}
    fmt.Println(array[2])
}

在定义数组的时候,数组的长度可以省略,这个时候 Go 语言会自动根据大括号 {} 中元素的个数推导出长度,所以以上示例也可以像下面这样声明:

array:=[...]string{"a","b","c","d","e"}

以上省略数组长度的声明只适用于所有元素都被初始化的数组,如果是只针对特定索引元素初始化的情况,就不适合了,如下示例:

array1:=[5]string{1:"b",3:"d"}

示例中的「1:“b”,3:“d”」的意思表示初始化索引 1 的值为 b,初始化索引 3 的值为 d,整个数组的长度为 5。

如果我省略长度 5,那么整个数组的长度只有 4,显然不符合我们定义数组的初衷。

此外,没有初始化的索引,其默认值都是数组类型的零值,也就是 string 类型的零值 “” 空字符串。

除了使用 [] 操作符根据索引快速定位数组的元素外,还可以通过 for 循环打印所有的数组元素,如下面的代码所示:

for i:=0;i
    fmt.Printf("数组索引:%d,对应值:%s\n", i, array[i])
}

    fmt.Printf("数组索引:%d,对应值:%s\n", i, v)
}

    fmt.Printf("对应值:%s\n", v)
}
"a","b","c","d","e"}
slice:=array[2:5]
fmt.Println(slice)
"a","b","c","d","e"}
fmt.Println(len(slice1),cap(slice1))
"飞雪无情":20}

    fmt.Println(age)
}

    fmt.Println("Key is",k,",Value is",v)
}
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]