Go语言程序设计:集合类型

本文详细介绍了Go语言中的集合类型,包括数组、切片和映射。数组是定长且类型相同的,而切片是长度可变的,两者都可以通过索引进行访问和操作。映射提供了键值对存储,使用灵活。文章还讨论了如何创建、修改和遍历这些集合类型,并提到了它们在函数调用中的传递行为。
摘要由CSDN通过智能技术生成

Go语言程序设计:集合类型

Go 集合


本章主要介绍了以下类型:

值,指针以及引用的类型。除此之外,还包括了Go语言的一些内置类型:数组、切片和映射。

通常情况下,变量持有相应的值。值在传递给函数或者方法时会被复制一次,这对布尔类型或者数值类型来说非常廉价。按值传递字符串也很廉价,因为字符串不可变。但是,如果修改一个传入的字符串的话,代价可能会很大。

在Go语言中,数组是按值传递的。幸运的是,我们不常用数组,而是用切片。

对于指针来说,用法跟C是类似的。既有&取地址操作符,也有*解引用操作符。其基本的用法与C指针类似。在生成一个结构体的实例时,我们可以用new(Type)来生成这个实例的指针,或者用&type{}的方法来生成指针。其中后者还可以进行初始化。

除了这两者之外,还有引用类型。引用类型的传递也很廉价,语法跟值一样。

映射和切片都是引用,因此,我们对其的任何修改都是可见的。

除了映射和切片之外,通道、函数和方法都是引用类型。引用没有什么特殊的语法,它跟值的使用是一样的。

数组和切片

Go语言的数组是定长的,且类型相同。创建的语法如下:

[length]type
[N]type{value1, ...., valueN}
[...]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值