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缓冲channel和非缓冲channel的区别说明
Apr 25 Golang
基于Go Int转string几种方式性能测试
Apr 28 Golang
浅谈Golang 嵌套 interface 的赋值问题
Apr 29 Golang
Golang 使用Map实现去重与set的功能操作
Apr 29 Golang
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
May 05 Golang
go语言中fallthrough的用法说明
May 06 Golang
基于Golang 高并发问题的解决方案
May 08 Golang
Golang全局变量加锁的问题解决
May 08 Golang
Go timer如何调度
Jun 09 Golang
基于Go语言构建RESTful API服务
Jul 25 Golang
使用GO语言实现Mysql数据库CURD的简单示例
Aug 07 Golang
Golang 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
解析php中memcache的应用
2013/06/18 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python的Flask框架中web表单的教程
2015/04/20 Python
详解Python中的文件操作
2016/08/28 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
pycharm永久激活超详细教程
2020/10/29 Python
HTML5 canvas基本绘图之文字渲染
2016/06/27 HTML / CSS
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
Linux操作面试题
2015/02/11 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
大学考试作弊检讨书
2014/01/30 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
公司门卫工作职责
2014/06/28 职场文书
代收款委托书范本
2014/10/01 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
go web 预防跨站脚本的实现方式
2021/06/11 Golang