数组的初始化
package main
import "fmt"
func main() {
//声明数组
var a1 [3]int
var b1 [4]int
fmt.Println(a1)
fmt.Println(b1)
// a1 = b1 不能相等 长度不一样
// 1.数组初始化
var scoreArray = [3]int{99, 88, 77}
fmt.Println(scoreArray)
//2.遍历器推导数据长度 动态赋值 数组的长度必须是一个常量不允许后续更改
var boolArray = [...]bool{true, false, true, true}
fmt.Println(boolArray)
//3.索引值的方式来初始化array
var stuArray = [3]string{"小红", "小兰", "小鹿"}
fmt.Println(stuArray[0])
fmt.Println(stuArray[1])
fmt.Println(stuArray[2])
//通过索引值
var teacherArray = [...]string{1: "老张", 3: "老刘", 5: "老陈"}
fmt.Println(teacherArray)
fmt.Printf("%T\n", teacherArray)
}
数组的遍历
package main
import "fmt"
func main() {
// 数组的遍历
var scoreArray = [...]int{100, 99, 88, 33, 44}
// 1. for遍历
for i := 0; i < len(scoreArray); i++ {
fmt.Println(scoreArray[i])
}
//2. for range
for index, value := range scoreArray {
fmt.Println(index, value)
}
}
多维数组
需要遍历三层的话就多加个循环不难理解
package main
import "fmt"
func main() {
//多维数组 只有最外层可以使用...的简写方式 内层不能使用
scoreArray := [...][2]int{
{1, 2},
{3, 4},
{5, 6},
}
fmt.Println(scoreArray)
// for循环找到他们
for i := 0; i < len(scoreArray); i++ {
for j := 0; j < len(scoreArray[i]); j++ {
fmt.Println(scoreArray[i][j])
}
}
// for range
for _, value := range scoreArray {
for _, v2 := range value {
fmt.Println(v2)
}
}
}
数组是值类型
package main
import "fmt"
func main() {
//数组是值类型
x := [3]int{10, 20, 30}
fmt.Println(x) // [10 20 30]
modify(x)
fmt.Println(x) // [10 20 30] 这里数组的值没有发生变化
}
func modify(a [3]int) {
a[0] = 100
}
编程题leetcode