当前位置: 首页 > news >正文

31-Golang中的二维数组

二维数组的使用方式

使用方式一:先声明/定义再赋值

  • 1.语法:var数组名 [大小] [大小]类型
  • 2.比如:var arr [2] [3]int,再赋值
package main
import ("fmt"
)func main() {//定义/声明数组var arr [4][6]int//赋初值arr[1][2] = 1arr[2][1] = 2arr[2][3] = 3for i := 0; i < 4 ; i++{for j := 0; j < 6; j++{fmt.Print(arr[i][j]," ")}fmt.Println()}
}
/*
0 0 0 0 0 0 
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
*/

使用方式二:直接初始化

  • 1.声明:var数组名[大小] [大小]类型 = [大小] [大小]类型{{初值…},{初值…}}
var arr[2][3]int = [2][3]int{{1,2,3},{4,5,6}}
fmt.Println("arr=", arr)
  • 2.赋值(有默认值)
  • 3.二维数组在声明/定义时也对应有四种写法[和一维数组类似]
    • var数组名[大小] [大小]类型 = [大小] [大小]类型{{初值…},{初值…}}
    • var数组名[大小] [大小]类型 = […] [大小]类型{{初值…},{初值…}}
    • var数组名 = [大小] [大小]类型{{初值…},{初值…}}
    • var数组名 = […] [大小]类型{{初值…},{初值…}}

二维数组在内存中的形式

在这里插入图片描述

二维数组的遍历

双层for循环完成遍历


func main() {var arr = [2][3]int{{1,2,3},{4,5}}for i := 0; i < len(arr) ; i++{for j := 0; j < len(arr[i]); j++{fmt.Printf("%v\t", arr[i][j])}fmt.Println()} 
}
/*
1       2       3
4       5       0
*/

for-range方式完成遍历

func main() {var arr = [2][3]int{{1,2,3},{4,5}}for i, v := range arr {for j, v1 := range v{fmt.Printf("arr[%v][%v]=%v\t",i,j,v1)}fmt.Println()}
}
/*
arr[0][0]=1     arr[0][1]=2     arr[0][2]=3
arr[1][0]=4     arr[1][1]=5     arr[1][2]=0
*/

案例

定义二维数组,用于保存三个班,每个班五名同学的成绩

并求出每个班级平均分,以及所有班级平均分

package main
import ("fmt")func main() {var scores [3][5]float64for i := 0; i < len(scores); i++{for j := 0; j < len(scores[i]); j++{fmt.Printf("请输入第%d班的第%d个学生的成绩\n", i + 1, j +1)fmt.Scanln(&scores[i][j])}}totalSum := 0.0for i := 0; i < len(scores); i++{sum := 0.0for j := 0; j < len(scores[i]); j++{sum += scores[i][j]}totalSum += sumfmt.Printf("第%d班的总分为%v,平均分为%v\n",i + 1,sum,sum/float64(len(scores[i])))}fmt.Printf("所有班的的总分为%v,平均分为%v",totalSum,totalSum/float64(len(scores)))
}/*
第1班的总分为36,平均分为7.2
第2班的总分为282,平均分为56.4
第3班的总分为137,平均分为27.4
所有班的的总分为455,平均分为151.66666666666666
*/

相关文章:

31-Golang中的二维数组

二维数组的使用方式 使用方式一&#xff1a;先声明/定义再赋值 1.语法&#xff1a;var数组名 [大小] [大小]类型2.比如&#xff1a;var arr [2] [3]int,再赋值 package main import ("fmt" )func main() {//定义/声明数组var arr [4][6]int//赋初值arr[1][2] 1ar…...

<<Java开发环境配置>>6-SQLyog安装教程

一.SQLyog简介: SQLyog 是一个快速而简洁的图形化管理MySQL数据库的工具&#xff0c;它能够在任何地点有效地管理你的数据库&#xff0c;由业界著名的Webyog公司出品。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。 二.SQLyog下载: 下载地址…...

MySQL 中的 distinct 和 group by 哪个效率更高

先说大致的结论&#xff08;完整结论在文末&#xff09;&#xff1a;在语义相同&#xff0c;有索引的情况下&#xff1a;group by和distinct都能使用索引&#xff0c;效率相同。在语义相同&#xff0c;无索引的情况下&#xff1a;distinct效率高于group by。原因是distinct 和 …...

计算机相关专业毕业论文选题推荐

计算机科学以下是我推荐的20个计算机科学专业的本科论文选题&#xff1a;基于机器学习的推荐算法研究与实现基于区块链技术的数字身份认证方案设计与实现基于深度学习的图像识别技术研究与应用基于虚拟现实技术的教育培训平台设计与实现基于物联网技术的智能家居系统研究与开发…...

网络编程套接字之TCP

文章目录一、TCP流套接字编程ServerSocketSocketTCP长短连接二、TCP回显服务器客户端服务器客户端并发服务器UDP与TCP一、TCP流套接字编程 我们来一起学习一下TCP socket api的使用&#xff0c;这个api与我们之前学习的IO流操作紧密相关&#xff0c;如果对IO流还不太熟悉的&am…...

网络与串口调试工具TCPCOM

TCPCOM&#xff0c;网络与串口二合一调试助手&#xff0c;将网络调试助手与串口调试助手合二为一&#xff0c;绿色软件&#xff0c;简单高效。【软件特色】 1. 支持中英文双语言&#xff0c;自动根据操作系统环境选择系统语言类型&#xff1b; 2. 支持ASCII/Hex发送,发送和接收…...

数据库常用命令

文章目录1. 数据库操作命令1.进入数据库2.查看数据库列表信息3.查看数据库中的数据表信息2.SQL语句命令1. 创建数据表2. 基本查询语句3. SQL排序4. SQL分组统计5. 分页查询6. 多表查询7.自关联查询8.子查询1. 数据库操作命令 1.进入数据库 mysql -uroot -p2.查看数据库列表信…...

PTA复习

函数 6-1 学生类的构造与析构 #include<bits/stdc.h> using namespace std; class Student {int num;string name;char sex; public:Student(int n,string nam,char s):num(n),name(nam),sex(s){cout<<"Constructor called."<<endl;}void display…...

TypeScript 学习之接口

接口&#xff1a;对值所具有的结构进行类型检查&#xff0c;称为“鸭式变型法”或“结构性子类型化” 基本使用 interface LabelledValue {label: string; }function printLabel(labelledObj: LabelledValue) {console.log(labelledObj.label); }let myObj {size: 10, label:…...

原码反码补码

在计算机中&#xff0c;负数都是以补码的形式存放的&#xff0c; 正数的原码、反码、补码完全一致。 原码&#xff1a;指的是正数的二进制或负数的二进制&#xff0c; 负数的二进制&#xff08;原码&#xff09;&#xff0c;其实就是在正数的二进制的最高位前面加一个符号位 1。…...

大数据选股智能推荐系统V1.0-1

很长时间没有发布博客了&#xff0c;这段时间个人确实有点忙。另外一方面在这段时间我也没有闲着。自己研发了一套大数据选股的智能推荐系统。废话不说&#xff0c;我们先来看这套系统&#xff1a;登录页面&#xff1a;&#xff08;技术点&#xff1a;验证码的生成&#xff09;…...

调研生成GIF表情包之路

调研阶段 gifshot.js合成GIF 可以从媒体流、视频或图像创建动画 GIF 的 JavaScript 库。 csdn地址&#xff1a;https://blog.csdn.net/qq_16494241/article/details/125717405 分解GIF图片、合成GIF图片 两步走&#xff1a; 1、分解GIF图片 libgif-js&#xff1a;JavaScrip…...

【RocketMQ】源码详解:生产者启动与消息发送流程

消息发送 生产者启动 入口 : org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start(boolean) 生产者在调用send()方法发送消息之前,需要调用start进行启动, 生产者启动过程中会启动一些服务和线程 启动过程中会启动MQClientInstance, 这个实例是针对一个项…...

信息安全(一)

思维导图 一、AES加解密 1.概述 1.1 概念 AES&#xff1a; 高级加密标准&#xff08;Advanced Encryption Standard&#xff09;是一种对称加密的区块加密标准。 &#xff08;1&#xff09;替代DES的新一代分组加密算法 &#xff08;2&#xff09;支持三种长度密钥&#x…...

企业多会场视频直播(主会场、分会场直播)实例效果

阿酷TONY 2023-2-16 长沙 活动直播做多会场切换功能&#xff08;主会场、分会场、会场一、会场二、会场三自由切换&#xff09; 企业多会场视频直播&#xff08;主会场、分会场直播&#xff09;实例效果 特点&#xff1a;支持PC端&#xff0c;也支持移动端观看&#xff0c;会…...

线性代数速览(一)行列式

文章目录行列式&#x1f33b; 行列式的定义&#x1f33c; 行列式的性质&#x1f337; 一些定理&#x1f940; 行列式的计算&#x1f33a; 克莱姆法则行列式 行列式的本质&#xff0c;就是一个数值。 &#x1f33b; 行列式的定义 有三种定义&#xff1a;1、按行展开&#xff…...

恭喜山东翰林“智慧园区管理系统”获易知微可视化设计大赛二等奖

数字化经济发展是全球经济发展的重中之重&#xff0c;“数字孪生&#xff08;Digital Twin&#xff09;”这一词汇正在成为学术界和产业界的一个热点。数字孪生作为近年来的新兴技术&#xff0c;其与国民经济各产业融合不断深化&#xff0c;推动着各大产业数字化、网络化、智能…...

gulp简单使用

gulp gulp的核心理念是task runner 可以定义自己的一系列任务 等待任务被执行 基于文件stream的构建流 我们可以使用gulp的插件体系来完成某些任务 webpack的核心理念是module bundler webpack是一个模块化的打包工具 可以使用各种各样的loader来加载不同的模块 可以使用各种…...

ce认证机构如何选择?

CE认证想必大家都已经有所了解&#xff0c;它是产品进入欧盟销售的通行证&#xff0c;那么我们在办理CE认证时该怎么进行选择?带大家了解一下CE认证机构&#xff0c;以及该怎么去进行选择? 以下信息由证果果编辑整理&#xff0c;更多认证机构信息请到证果果网站查看。找机构…...

全网招募P图高手!阿里巴巴持续训练鉴假AI

P过的证件如何鉴定为真&#xff1f;三千万网友都晒出了与梅西的合影&#xff1f;图像编辑技术的普及让人人都能P图&#xff0c;但也带来“假图”识别难题&#xff0c;甚至是欺诈问题。 为此&#xff0c;阿里安全联合华中科技大学国家防伪工程中心、国际文档分析识别方向的唯一顶…...

Qwen3-ForcedAligner-0.6B在字幕制作中的落地应用:SRT自动导出全流程

Qwen3-ForcedAligner-0.6B在字幕制作中的落地应用&#xff1a;SRT自动导出全流程 1. 引言&#xff1a;告别手动打轴&#xff0c;让字幕制作快10倍 如果你做过视频字幕&#xff0c;一定体会过手动打轴的痛苦。一集45分钟的视频&#xff0c;台词稿早就准备好了&#xff0c;但你…...

只要一行代码,瞬间搭建 Web 服务器 python -m http.server 8000

只要一行代码,瞬间搭建 Web 服务器 python -m http.server 8000 目录 只要一行代码,瞬间搭建 Web 服务器 python -m http.server 8000 1. 核心机制:内置的 `http.server` 模块 2. 为什么它能“求生”,但不能“生产”? 🚀 并发处理能力 (Concurrency) 🛡️ 安全性 (Se…...

springboot+vue基于web的电脑配件商城的设计系统

目录 同行可拿货,招校园代理 ,本人源头供货商系统功能模块划分技术架构设计要点特色功能实现路径安全防护措施扩展性考虑 项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 同行可拿货,招校园代理 ,本人源头供货商 系统功能模块…...

AI赋能开发:让快马平台智能理解并生成产区标准图交互应用

AI赋能开发&#xff1a;让快马平台智能理解并生成产区标准图交互应用 最近在做一个农产品产区标准查询系统的项目&#xff0c;发现用传统方式开发这类需求特别费时。比如要处理用户自然语言查询、动态生成地图、实现智能推荐逻辑&#xff0c;光写基础代码就得花好几天。后来尝…...

nuScenes数据集避坑指南:从数据下载到多模态可视化完整流程

nuScenes数据集实战全解析&#xff1a;从环境搭建到多模态融合可视化 自动驾驶研究离不开高质量的数据集支持&#xff0c;而nuScenes作为目前最全面的多模态自动驾驶数据集之一&#xff0c;包含了丰富的传感器数据和精细的标注信息。但在实际使用过程中&#xff0c;从数据下载到…...

Windows自定义部署神器:从零开始的安装介质制作指南

Windows自定义部署神器&#xff1a;从零开始的安装介质制作指南 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat 你是否…...

C语言结构体定义与自增运算符a++详解

有一个结构体名是stu&#xff0c;它当中包含着5个成员&#xff0c;其中一个成员是name&#xff0c;还有一个成员是num&#xff0c;另外一个成员是age&#xff0c;再有一个成员是group&#xff0c;最后一个成员是score。 除了不能初始化这一点外&#xff0c;结构体成员的定义方式…...

DanKoe 视频笔记:人生经验课:给18岁自己的信

在本节课中&#xff0c;我们将学习一位28岁人士回顾过去&#xff0c;总结出的核心人生经验。这些经验旨在帮助年轻人&#xff0c;特别是那些感到迷茫、渴望超越平凡生活的人&#xff0c;建立自主性、明确目标并采取有效行动。我们将把这些经验整理成一套清晰的教程&#xff0c;…...

别再手动刷新了!SAP ALV中利用change事件与modify_cell实现智能数据同步

SAP ALV开发进阶&#xff1a;巧用change事件与modify_cell构建智能数据联动体系 在SAP前端开发领域&#xff0c;ALV&#xff08;ABAP List Viewer&#xff09;作为最常用的数据展示控件&#xff0c;其交互体验直接影响用户操作效率。传统开发模式中&#xff0c;当用户修改某个单…...

迷宫问题求解:从递归到队列的算法实战与性能对比

1. 迷宫问题与三种经典解法 迷宫问题就像我们小时候玩的走迷宫游戏&#xff0c;需要在错综复杂的路径中找到一条从起点到终点的通路。在计算机科学中&#xff0c;迷宫被抽象成一个二维矩阵&#xff0c;其中0代表可通行的路径&#xff0c;1代表障碍物。这个问题看似简单&#xf…...