數組
尚硅谷Golang課
數組
func main() {
var n1 [3]int = [3]int{1, 2, 3}
var n2 = [3]int{4, 5, 6}
//長度聲明後就不能變化
var n3 = [...]int{7, 8, 9}
//數組長度是類型的一部分 [3]int != [4]int
var n4 = [...]string{0: "李四", 1: "張三", 5: "王武"}
n5 := []int{5, 5, 5, 5, 5}
//[]int 這樣定義其實是切片
fmt.Println(n1)
fmt.Println(n2)
fmt.Println(n3)
fmt.Println(n4)
fmt.Println(n5)
n9 := fmt.Sprintf("%.2f", 9.888888)
fmt.Println(n9)
var score [5]float64
for i := 0; i < len(score); i++ {
fmt.Println("輸入成績")
fmt.Scanln(&score[i])
}
for i := 0; i < len(score); i++ {
fmt.Printf("score[%d]=%v\n", i, score[i])
}
arr := [3]int{11, 22, 33}
fmt.Println(arr)
test(&arr)
fmt.Println(arr)
}
func test(a *[3]int) {
a[0] = 88
var arr4 = [3]string{"a", "b", "c"}
b := 3
arr4[b] = "tom"
fmt.Println(arr4)
}
遍歷數組
func main() {
arr1 := []int{1, 2, 3, 4, 5, 6, 7}
for index, value := range arr1 {
fmt.Printf("index=%v,value=%v\n", index, value)
}
for _, v := range arr1 {
fmt.Printf("%v", v)
}
}
應用練習
func main() {
var az [26]byte
for i := 0; i < len(az); i++ {
az[i] = 'A' + byte(i)
fmt.Printf("%c ", az[i])
}
var n1 = [...]int{1, 2, 6, 8, -5, 99, 44, 3, 0}
max := n1[0]
for i := 1; i < len(n1); i++ {
if max < n1[i] {
max = n1[i]
}
}
fmt.Printf("%v\n", max)
var n2 = [...]int{1, 2, 6, 8, -5, 99, 44, 3, 0}
var sum int
for _, v := range n2 {
sum = sum + v
}
fmt.Printf("和=%v\n", sum)
fmt.Printf("平均=%v\n", sum/len(n2))
//我要保留平均的小數點
fmt.Printf("平均=%.2f\n", float64(sum)/float64(len(n2)))
//要求:隨機生成5個數字,並反轉後打印
//思路:隨機 rand.Init(),放進數組,把數組反轉,打印
var arr3 [5]int
rand.Seed(time.Now().UnixNano())
for i := 0; i < len(arr3); i++ {
arr3[i] = rand.Intn(100) //0<=n<100
}
fmt.Println(arr3)
//順序翻轉
for i := 0; i < len(arr3)/2; i++ {
arr3[i], arr3[len(arr3)-i-1] = arr3[len(arr3)-i-1], arr3[i]
}
fmt.Println(arr3)
}
上次修改於 2021-08-01
此篇文章的評論功能已經停用。