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 interface{}==nil 的几种坑及原理分析
Apr 24 Golang
go语言中json数据的读取和写出操作
Apr 28 Golang
解决Golang time.Parse和time.Format的时区问题
Apr 29 Golang
Golang中interface{}转为数组的操作
Apr 30 Golang
浅谈golang 中time.After释放的问题
May 05 Golang
入门学习Go的基本语法
Jul 07 Golang
Go语言实现Base64、Base58编码与解码
Jul 26 Golang
golang生成vcf通讯录格式文件详情
Mar 25 Golang
golang为什么要统一错误处理
Apr 03 Golang
Go语言的协程上下文的几个方法和用法
Apr 11 Golang
Go语言 详解net的tcp服务
Apr 14 Golang
Go 内联优化让程序员爱不释手
Jun 21 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
NOT NULL 和NULL
2007/01/15 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
python使用配置文件过程详解
2019/12/28 Python
python模拟斗地主发牌
2020/04/22 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
请说出几个常用的异常类
2013/01/08 面试题
大学生就业自荐信
2013/10/26 职场文书
公司清洁工岗位职责
2013/12/14 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
金融管理应届生求职信
2014/02/20 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python