Go語言實現二維數組的2種遍歷方式以及案例詳解

二維數組遍歷的2種方式

package main

import (
	"fmt"
)

func main() {
	//定義一個二維數組
	var arr = [2][3]int{{1, 4, 3},{7, 5, 6}}

	//方式1. 用for循環來遍歷
	for i := 0; i < len(arr); i++ {
		for j := 0; j < len(arr[i]); j++ {
			fmt.Printf("%v ",arr[i][j])
		}
		fmt.Println()
	}

	//方式2. for-range 遍歷
	for i, v := range arr {
		for j, v2 := range v {
			fmt.Printf("arr[%v][%v]=%v \t \n", i, j, v2)
		}
		fmt.Println()
	}
}

執行結果如下圖所示:

在這裡插入圖片描述

應用案例:定義一個二維數組,用於保存3個班,每個班5名同學的成績,並求出5個班的平均分,以及所有班級平均分。

package main

import (
	"fmt"
)

func main() {
	//1.定義一個二維數組
	var scores [3][5]float64

	//2.循環的輸入成績
	for i := 0; i < len(scores); i++ {
		for j := 0; j < len(scores[i]); j++ {
			fmt.Printf("請輸入第%d班的第%d個學生的成績\n", i+1, j+1)
			fmt.Scanln(&scores[i][j])
		}
		fmt.Println()
	}

	totalSum := 0.0
	for i := 0; i < len(scores); i++ {
		sum := 0.0
		for j := 0; j < len(scores[i]); j++ {
			sum += scores[i][j]
		}
		totalSum +=sum
		fmt.Printf("第%d班的總分為:%v,平均分為:%v \n",i+1,sum,sum/float64(len(scores[i])))
	}
	fmt.Printf("所有班級的總分為:%v,所有班級的平均分為:%v \n",totalSum,totalSum/15)
}

執行結果如下圖所示:

在這裡插入圖片描述

到此這篇關於Go語言實現二維數組的2種遍歷方式以及案例詳解的文章就介紹到這瞭,更多相關Go語言實現二維數組的2種遍歷內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: