关于Golang面试宝典
最近几年,Go的热度持续飙升,国内外很多大公司都在大规模的使用Go。Google是Go语言诞生的地方,其他公司如Facebook、腾讯、阿里、字节跳动、百度、京东、小米等都在拥抱和转向Go。Go语言的开源项目也非常多,如kubernetes、docker、etcd。
随着市场对Go语言人才需求的增长,很多开发者都投入了Go语言的怀抱。本系列文章将以第一视角与大家一同开始Golang的面试之路,希望大家能够有所收获,拿下心仪的offer。
Go语言数组知识点总结
数组可以存放多个<font color='red'>同一类型</font>数据。在Go语言中,数组是值类型。
初始化一个数组
var numArray1 [3]int = [3]int{1, 2, 3}
var numArray2 = [3]int{1, 2, 3}
var numArray3 = [...]int{1, 2, 3}
// 指定下标的元素值
var numArray4 = [3]int{2: 3}
Go语言中数组内存是连续的,数组首元素的地址为数组的地址,数组中各个元素的地址间隔由数组储存的数据类型决定。
遍历数组
方式1
arr := [3]int{1, 2, 3}
for index, value := range arr {
fmt.Printf("index: %d, value: %v", index, value)
}
方式2
arr := [3]int{1, 2, 3}
for i := 0; i < len(arr); i++ {
fmt.Printf("index: %d, value: %v", i, arr[i])
}
数组注意事项
- 数组是多个<font color='red'>相同类型</font>数据的集合,一旦声明/定义后,<font color='red'>长度是固定的,不能动态变化</font>
- 数组中的元素可以是任何数据,包括值类型和引用类型
- 数组创建后,如果没有赋值,则默认值为该类型数据的默认值
- Go语言中数组为<font color='red'>值类型</font>,默认情况下是值传递,如果想要在函数中修改原来的数组,可使用指针方式引用传递