Go语言学习笔记-数组(待更新)

本文介绍了Go语言中数组的初始化、利用make创建数组、默认元素值以及数组的迭代方式。强调了编译时检查数组索引的重要性,并探讨了Go语言在编译阶段的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

收集器

概念:待更新

数组是一种定长且有序的元素收集器

1.数组初始化的几种方式

1.比较常见的有三种

var name [length]type
name := [length]type{
    element1,
    element2,
    element3,
    ...
    elementn,
}
//注意最后这里的,是不可或缺的

//自动推算数组长度的定义方式
name := [...]type{
    element1,
    element2,
    element3,
    ...
    elementn,
}

2.利用make建立一个数组

建立长度为n的一个未初始化数组

name = make([]int,n)

对于make这个函数,网络上查到的资料是Go的内置函数,它的作用是为slice、map或chan初始化并返回引用。make仅仅用于创建slice、map和channel,并返回它们的实例。

但在敲leetcode代码中,发现按照这个定义出来的东西,可以作为一个需要的数组结果,后面学到再校正

3.数组的默认元素

var index [10] int

默认情况下定义出来的数组元素都为0

4.数组的迭代方式

除了常规使用循环遍历,还有一种是使用range函数去遍历数组,这一点有点类似于python中的enurmate

for i,ele := range arr{
    //i代表索引,从0开始
    //ele 代表遍历到的数组元素
}

5.其他

5.1

go语言在编译时会检测无效的数组索引链接

如果编译时未能发现无效索引,运行时会报panic

	var planets [8]string
	i := 8
	planets[i] = "Pluto"
	pluto := planets[i]
	fmt.Printf("format", pluto)

输出

 

这里有个值得探讨的问题就是go语言在编译阶段做了哪些事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值