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语言-为什么返回值为接口类型,却返回结构体
Apr 24 Golang
Go语言中break label与goto label的区别
Apr 28 Golang
Golang 如何实现函数的任意类型传参
Apr 29 Golang
go语言中fallthrough的用法说明
May 06 Golang
解决golang 关于全局变量的坑
May 06 Golang
Golang原生rpc(rpc服务端源码解读)
Apr 07 Golang
Golang 并发编程 SingleFlight模式
Apr 26 Golang
深入理解 Golang 的字符串
May 04 Golang
Go语言入门exec的基本使用
May 20 Golang
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
Jun 14 Golang
Go gRPC进阶教程gRPC转换HTTP
Jun 16 Golang
go goth封装第三方认证库示例详解
Aug 14 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定时执行计划任务的多种方法小结
2011/12/19 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
php提高网站效率的技巧
2015/09/29 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
读jQuery之一(对象的组成)
2011/06/11 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
用js实现trim()的解决办法
2013/04/16 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
vue组件与复用详解
2018/04/08 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
js仿淘宝放大镜效果
2020/12/28 Javascript
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
python设计模式大全
2016/06/27 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
python多进程控制学习小结
2018/10/31 Python
python文本数据处理学习笔记详解
2019/06/17 Python
Python面向对象之Web静态服务器
2019/09/03 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
python中pyplot基础图标函数整理
2020/11/10 Python
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
入党申请人的自我鉴定
2013/12/01 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
化学工程专业求职信
2014/08/10 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
爱晚亭导游词
2015/02/09 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
python 下载文件的几种方式分享
2021/04/07 Python