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:垃圾回收GC触发条件详解
Apr 24 Golang
go语言中json数据的读取和写出操作
Apr 28 Golang
解决go在函数退出后子协程的退出问题
Apr 30 Golang
golang 实现时间戳和时间的转化
May 07 Golang
golang中的并发和并行
May 08 Golang
基于Go语言构建RESTful API服务
Jul 25 Golang
Go 通过结构struct实现接口interface的问题
Oct 05 Golang
Golang 并发下的问题定位及解决方案
Mar 16 Golang
Go语言特点及基本数据类型使用详解
Mar 21 Golang
Go获取两个时区的时间差
Apr 20 Golang
Golang 并发编程 SingleFlight模式
Apr 26 Golang
Go gRPC进阶教程gRPC转换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结合飞信 免费天气预报短信
2009/05/07 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
JS函数arguments数组获得实际传参数个数的实现方法
2016/05/28 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
Python出现segfault错误解决方法
2016/04/16 Python
python 内置函数filter
2017/06/01 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
Python实现购物车程序
2018/04/16 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
一行python实现树形结构的方法
2019/08/09 Python
python numpy存取文件的方式
2020/04/01 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
最受欢迎的自我评价
2013/12/22 职场文书
小学语文业务学习材料
2014/06/02 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
SQL Server中搜索特定的对象
2022/05/25 SQL Server