二维数组的遍历方式|学习笔记

简介: 快速学习二维数组的遍历方式

开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:二维数组的遍历方式与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/625/detail/9652


二维数组的遍历方式

内容介绍:

一、双层for循环完成遍历

二、for-range方式完成遍历

一、双层for循环完成遍历

1.试验代码

package main

import (

fmt

)

func main() {

//演示二维数组的遍历

var arr3 = [2][3]int{{1,2,3},{4,5,6}}

//for循环来遍历

//

for i := 0; i < 2(这里写2,但是不能写死,所以不能直接写2)

//

for i := 0; i < len(arr3)(用len来计算arr3,观察上面var arr3 = [2][3]int{{1,2,3},{4,5,6}}有多少函数;len(arr3)就算以及拿到了 [2]

for i := 0;  i < len(arr3);i++

for j := 0;  j <len(arr3[i]);j++ {

//每进来一次,var arr3 = [2][3]int{{1,2,3},{4,5,6}}就有不同的元素个数,因为它每个元素有可能是不一样的

//假设var arr3 = [2][3]int{{1,2,3},{4,5,6}},第二元素里面只有两个元素var arr3 = [2][3]int{{1,2,3},{4,5,}}也可以遍历,就使用arr3[i]来统计。

fmt.Printf(%v\t,arr3[i][j]”)

}

//每遍历一个数组之后就换一次行

fmt.Printf()

}

}

试验一下,遍历成功

image.png

2.完整代码

package main

import (

fmt

)

func main() {

//演示二维数组的遍历

var arr3 = [2][3]int{{1,2,3},{4,5,6}}

//for循环来遍历

//for i := 0; i < 2

//for i := 0; i < len(arr3)

for i := 0;  i < len(arr3);i++

for j := 0;  j <len(arr3[i]);j++ {

fmt.Printf(%v\t,arr3[i][j])

}

fmt.Printf()

}

}

二、for-range方式完成遍历

1. 试验代码

package main

import (

fmt

)

func main() {

//演示二维数组的遍历

var arr3 = [2][3]int{{1,2,3},{4,5,6}}

//for-range 来遍历二维数组

for i, v := range arr3 {

fmt.Printf(i=%v v=%v”,i,v) 

试验一下

image.png// v这一个值就是 var arr3 = [2][3]int{{1,2,3},{4,5,6}}里面的一维数组

但是有可能不需要这种输出,就使用另一种写法

//for-range来遍历二维数组

for i, v := range arr3 {

for j,v2 := range v {

//这里的v2就是具体的值

fmt.Printf(arr3[%v][%v]=%v \t,i,j,v2)

//i就是第一个[%v],j就是第二个[%v]

}

//每遍历一个数组之后就换一次行

fmt.Printf()

}

}

试验一下

与上一个结果是一样的,只是遍历的方式不一样

image.png

2.强调点

第一次进行 for-range 的时候,for i, v := range arr3 {这里的v不是一个具体的元素的值,而是一个一维数组

3.完整代码

package main

import (

fmt

)

func main() {

//演示二维数组的遍历

var arr3 = [2][3]int{{1,2,3},{4,5,6}}

//for-range来遍历二维数组

for i, v := range arr3 {

for j,v2 := range v {

fmt.Printf(“arr3[%v][%v]=%v \t,i,j,v2)

}

fmt.Printf()

}

}

相关文章
|
NoSQL 小程序 C语言
GDB调试学习(四):段错误
GDB调试学习(四):段错误
511 0
|
存储 算法 C++
二维数组中的查找(两种解法,各有千秋)
二维数组中的查找(两种解法,各有千秋)
466 0
二维数组中的查找(两种解法,各有千秋)
|
缓存 安全 JavaScript
Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现统一认证授权和网关鉴权
Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现统一认证授权和网关鉴权
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1093 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1770 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
701 152