package main
import "fmt"
// 数组相关内容
func main() {
var a [3]int
var b [4]int
fmt.Println(a)
fmt.Println(b)
// 数组的初始化
// 1.定义时使用初始值列表的方式初始化
var cityArray = [4]string{"北京", "上海", "广州", "深圳"}
fmt.Println(cityArray)
// 2.编译器推导数组的长度
var boolArray = [...]bool{true, false, false}
fmt.Println(boolArray)
fmt.Println(cityArray[1])
// 3.使用索引值方式初始化
var langArray = [...]string{1: "Golang", 3: "python", 7: "Java"}
fmt.Println(langArray)
fmt.Printf("%T\n", langArray)
//数组的遍历
var cityArray2 = [4]string{"北京", "上海", "广州", "深圳"}
// 1.for循环遍历
for i := 0; i < len(cityArray2); i++ {
fmt.Println(cityArray2[i])
}
// 2.for range遍历
for _, value := range cityArray2 {
fmt.Println(value)
}
// 二维数组
cityArray3 := [...][2]string{ //多维数组只有最外层可以用...表示
{"北京", "西安"},
{"上海", "杭州"},
{"重庆", "成都"},
{"广州", "深圳"},
}
fmt.Println(cityArray3)
fmt.Println(cityArray3[2][0])
for _, v1 := range cityArray3 {
for _, v2 := range v1 {
fmt.Println(v2)
}
}
y := cityArray3
y[0][0] = "666"
fmt.Println(cityArray3)
}
作业:
package main
import "fmt"
func main() {
// 1.求数组[1,3,5,7,8]所有元素的和
var Array1 = [...]int{1, 3, 5, 7, 8}
summ := 0
for i := 0; i < len(Array1); i++{
summ += Array1[i]
}
fmt.Println(summ)
// 2.找出数组中和为指定值的两个元素的下标
Array2 := [...]int{1, 3, 5, 7, 8}
for i := 0; i < len(Array2)-1; i++{
for j := i+1; j < len(Array2); j++{
if Array2[i] + Array2[j] == 8{
fmt.Printf("(%d,%d)\n", i, j)
}
}
}
}