Golang二维数组的使用方式


Posted in Golang onMay 28, 2021

★二维数组的使用方式:

先声明或者定义,再赋值

1)语法:var 数组名[大小][大小]类型

2)比如:var arr[2][3]int[][]

  两行三列的二维数组

★二维数组的遍历

1)双层for循环

2)for-range方式完成遍历

package main

import (
    "fmt"
)
func main() {
//演示二维数组的遍历
    var arr3 = [2][3]int{{1,2,3},{4,5,6}}
    //for循环来遍历
    for i :=0;i < len(arr3);i++{
        for j:=0;j < len(arr3[i]);j++{
            fmt.Printf("%v\t",arr3[i][j])
        }
        fmt.Println()
    }

    //for-range来遍历二维数组
    for i,v :=range arr3{
        for j,v2 :=range v{
            fmt.Printf("arr3[%v][%v]=%v \t",i,j,v2)
        }
        fmt.Println()
    }
}

PS:go语言基础之二维数组

1、二维数组

示例:

package main //必须有个main包
 
import "fmt"
 
func main() {
    //有多少个[]就是多少维
    //有多少个[]就用多少个循环
    var a [3][4]int
 
    k := 0
    for i := 0; i < 3; i++ {
        for j := 0; j < 4; j++ {
            k++
            a[i][j] = k
            fmt.Printf("a[%d][%d] = %d, ", i, j, a[i][j])
        }
        fmt.Printf("\n")
    }
 
    fmt.Println("a = ", a)
 
    //有3个元素,每个元素又是一维数组[4]int
    b := [3][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}
    fmt.Println("b = ", b)
 
    //部分初始化,没有初始化的值为0
    c := [3][4]int{{1, 2, 3}, {5, 6, 7, 8}, {9, 10}}
    fmt.Println("c = ", c)
 
    d := [3][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}}
    fmt.Println("d = ", d)
 
    e := [3][4]int{1: {5, 6, 7, 8}}
    fmt.Println("e = ", e)
}

执行结果:

a[0][0] = 1, a[0][1] = 2, a[0][2] = 3, a[0][3] = 4,
a[1][0] = 5, a[1][1] = 6, a[1][2] = 7, a[1][3] = 8,
a[2][0] = 9, a[2][1] = 10, a[2][2] = 11, a[2][3] = 12,
a =  [[1 2 3 4] [5 6 7 8] [9 10 11 12]]
b =  [[1 2 3 4] [5 6 7 8] [9 10 11 12]]
c =  [[1 2 3 0] [5 6 7 8] [9 10 0 0]]
d =  [[1 2 3 4] [5 6 7 8] [0 0 0 0]]
e =  [[0 0 0 0] [5 6 7 8] [0 0 0 0]]

以上就是Golang二维数组的使用方式的详细内容,更多关于Golang二维数组的资料请关注三水点靠木其它相关文章!

Golang 相关文章推荐
go语言中json数据的读取和写出操作
Apr 28 Golang
golang 实现两个结构体复制字段
Apr 28 Golang
解决go在函数退出后子协程的退出问题
Apr 30 Golang
goland设置颜色和字体的操作
May 05 Golang
Golang中异常处理机制详解
Jun 08 Golang
入门学习Go的基本语法
Jul 07 Golang
修改并编译golang源码的操作步骤
Jul 25 Golang
golang内置函数len的小技巧
Jul 25 Golang
深入理解go slice结构
Sep 15 Golang
Go语言基础切片的创建及初始化示例详解
Nov 17 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
Go语言编译原理之源码调试
Aug 05 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 #Golang
go 实现简易端口扫描的示例
May 22 #Golang
go xorm框架的使用
May 22 #Golang
Golang实现AES对称加密的过程详解
May 20 #Golang
go语言基础 seek光标位置os包的使用
May 09 #Golang
Golang 实现获取当前函数名称和文件行号等操作
May 08 #Golang
Golang 获取文件md5校验的方法以及效率对比
May 08 #Golang
You might like
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
php 面向对象的一个例子
2011/04/12 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Django model序列化为json的方法示例
2018/10/16 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
pandas 将索引值相加的方法
2018/11/15 Python
python加载自定义词典实例
2019/12/06 Python
python ftplib模块使用代码实例
2019/12/31 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
python如何爬取网页中的文字
2020/07/28 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
长青弘远的面试题
2012/06/09 面试题
财务人员个人自荐信范文
2013/09/26 职场文书
医学类个人求职信范文
2014/02/05 职场文书
质量月活动策划方案
2014/03/10 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android