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 相关文章推荐
golang 实现Location跳转方式
May 02 Golang
完美解决golang go get私有仓库的问题
May 05 Golang
Golang之sync.Pool使用详解
May 06 Golang
goland 设置project gopath的操作
May 06 Golang
关于golang高并发的实现与注意事项说明
May 08 Golang
聊聊golang中多个defer的执行顺序
May 08 Golang
Golang 获取文件md5校验的方法以及效率对比
May 08 Golang
Go语言应该什么情况使用指针
Jul 25 Golang
Go语言 详解net的tcp服务
Apr 14 Golang
golang使用map实现去除重复数组
Apr 14 Golang
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
Jun 14 Golang
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
2016/01/26 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
python上下文管理器异常问题解决方法
2021/02/07 Python
HTML5的新特性(1)
2016/03/03 HTML / CSS
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
如何写你的创业计划书
2014/01/07 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
安全隐患整改报告
2014/11/06 职场文书
2014年度思想工作总结
2014/11/27 职场文书
初中家长评语大全
2014/12/26 职场文书
vue 实现上传组件
2021/05/31 Vue.js
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL