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种遍历内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • go for range遍历二维数组的示例

    go for range 遍历二维数组 var arry [2][3] int for index,_ := range arry { fmt.Print(index) } 运行结果: 0 1   没有遍历所有的6个元素. 二维数组 arry 可以理解为:拥有两个 一维数组元素 的一维数组,所以以上只是遍历了其的两个元素,index分别是0 1,value是两个 拥有三个int类型元素 的一维数组. var arry [2][3] int for index,value := range arr

  • 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.Pr

  • java定义二维数组的几种写法(小结)

    如下所示: //定义二维数组写法1 class numthree { public static void main(String[] args) { float[][] numthree; //定义一个float类型的2维数组 numthree=new float[5][5]; //为它分配5行5列的空间大小 numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1 numthree[1][0]=1.2f; // 2行1列=1.2 numthree[2][0]=1.3

  • 基于SpringBoot生成二维码的几种实现方式

    目录 一.基于Google开发工具包ZXing生成二维码 二.基于开源的Hutool工具生成二维码 本文将基于Spring Boot介绍两种生成二维码的实现方式,一种是基于Google开发工具包,另一种是基于Hutool来实现: 为了方便理解二维码的实际应用场景,举一些例子! (1)进销存系统 想必大家都听说过,其系统中的商品二维码承载了许多重要.核心的关键信息,比如商品编码.商品名称.规格.型号.单位.作用/使用说明等信息:操作者可以借助硬件设备,如“扫码枪”,通过扫描该二维码后将该商品录入到

  • 从头学习C语言之二维数组

    目录 二维数组: 语法: 二维数组存放方式: 二维数组的访问: 二维数组的初始化: 示例: 总结 二维数组: 引入一个想法: 一个变量:相当于一个点. 一维数组(也就是数组):点汇聚成为一条直线. 二维数组:直线汇聚成一个平面. 三维数组:平面汇聚成立体图形. 语法: 类型 数组名[常量表达式][常量表达式] int a[6][6];//6*6,6行6列 char b[4][5];//4*5,4行5列 double c[6][3];//6*3,6行3列 二维数组存放方式: 二维数组的访问: 数组

  • 探讨php中遍历二维数组的几种方法详解

    在PHP应用当中,二维数组的应用算是高频率的了,尤其遇到较为复杂的计算时,基本上都要用到二维或者多维数组的,而在编历多维数组使用的较多的应该是 for 循环遍历和 foreach 遍历两个函数了,其中没什么特殊要求的话,基本上都是在使用 foreach 遍历函数,当然,我们可以通过这两个遍历函数来组合成各种各样的输出方式. 还是老样子,一直在使用,从来未记住,简单的遍历输出还是较为简单的,下面是两个在PHP中遍历二维函数的代码片段,如下.. 使用for循环遍历 <?PHP //使用for循环遍历

  • Java中的二维数组的赋值与输出方式

    目录 二维数组的赋值与输出 随机给二维数组赋值,打印输出每个元素 题目 二维数组的赋值与输出 public class Demo1 { public static void main(String[] args) { //声明一个二维数组:有三行,列数待定,数组结构表示为{{ },{ },{ }} String s[][]=new String[3][];//动态赋值二维数组 s[0]=new String[3]; s[1]=new String[2]; s[2]=new String[3];

  • Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解

    在Node.js中,我们可以通过qr-image包直接在后台生成二维码图片,使用方法很简单: var qr = require('qr-image'); exports.createQRImage = function(res, str){ var img = qr.image(str); // 将生成二维码图片 res.writeHead(200, {'Content-Type': 'image/png'}); img.pipe(res); }; 但是如果我们希望生成的不仅仅是二维码,而是在一

  • Swift中定义二维数组的方法及遍历方法示例

    //定义方式一 var array1 = [[Int]]() //定义方式二 var array2 = Array<Array<Int>>() array1 = [ [13,1,4], [5,1,7,6] ] array2 = array1 // 一维数组的定义 var v = [Int]() v = [4,5,7,8] array2.append(v) println(array1) println(array2) //数组的遍历 for var i=0; i<array1

  • PHP二维数组分页2种实现方法解析

    方法一: <?php $arr_click = array( array( 'clicks' => 3, 'clickDate' =>'2010-10-11' ), array( 'clicks' => 2, 'clickDate' =>'2010-10-11' ), array( 'clicks' => 3, 'clickDate' =>'2010-10-09' ), array( 'clicks' => 1, 'clickDate' =>'2010

  • C语言二维数组几种常用的表示方法

    名称:二维数组的几种表示方法 说明:常用的有以下几种二维数组的表示方法: (1).第一种是普通的二维数组的表示方法. (2).第二种是用一维数组来表示二维数组,从显示的元素地址可以看出,二维数组和一维数组表示的二维数组在内存中的储存方式其实是一样的,不过使用二维数组看起来要简单些,只要不用进行地址转换. (3).第三种表示是用指针数组.本例中的c[i]中的元素其实是地址.这种方法对各个元素大小不一样的情况下比较适用.如:假定有若干个不等长字符串需要我们处理,如果使用a [i ][j]结构,则j必

随机推荐