golang初始化数组
golang中数组为值类型
方式1:指定数组长度
func main() {
var defaltArray [3]int //数组会初始化为int类型的零值
var numArray = [3]int{1, 2} //使用指定的初始值完成初始化
var strArray = [3]string{"python", "java", "golang"} //使用指定的初始值完成初始化
fmt.Println(defaltArray) //[0 0 0]
fmt.Println(numArray) //[1 2 0]
fmt.Println(strArray) //[python java golang]
}
方式2:自行推断数组长度
func main() {
var defaltArray[3]int
var numArray = [...]int{1, 2, 3, 4}
var strArray = [...]string{"python", "java", "golang"}
fmt.Println(defaltArray) //[0 0 0]
fmt.Println(numArray) //[1 2 3 4]
fmt.Printf("type of numArray:%T\n", numArray) //type of numArray:[2]int
fmt.Println(strArray) //[python java golang]
fmt.Printf("type of strArray:%T\n", strArray) //type of strArray:[3]string
}
方式3:指定索引并赋值
func main() {
a := [...]int{1: 2, 3: 4}
fmt.Println(a) // [0 2 0 4]
fmt.Printf("type of a:%T\n", a) //type of a:[4]int
}
数组遍历
func main() {
var a = [...]string{"python", "java", "golang"}
// 方法1:for循环根据数组长度遍历
for i := 0; i < len(a); i++ {
fmt.Println(a[i])
}
// 方法2:for range遍历
for index, value := range a {
fmt.Println(index, value)
}
}
多维数组
多维数组仅支持最外层使用...
来进行自动推导
// 正确写法
a := [...][2]string{
{"北京", "上海"},
{"广州", "深圳"},
{"成都", "重庆"},
}
// 以下是错误写法
b := [3][...]string{
{"北京", "上海"},
{"广州", "深圳"},
{"成都", "重庆"},
}
有疑问加站长微信联系(非本文作者)