golang中的【数组】相关知识点

目录

  • 数组含义
  • 数组定义形式
  • 数组的声明初始化方式
  • 数组变量的类型 arr的特征
  • 数组的遍历
  • 遍历的用法二
  • 数组的值传递
  • 数组的引用&取地址 传送
  • 二维数组的相关操作
    • 定义
    • 二维数组初始化
    • 遍历

Golang是一种高效的编程语言,具有很多特性和优点,其中之一就是其对数组的支持。数组是一种非常基础的数据结构,它可以存储一组相同类型的数据。在Golang中,数组是一种值类型,它们可以被直接复制和传递。

数组含义

数组是一种有序集合,其中每个元素都有一个唯一的索引。数组的长度是固定的,一旦定义就不能改变。数组通常用于存储相同类型的数据,如整数、浮点数、字符串等。
在这里插入图片描述

数组定义形式

在Golang中,数组的定义形式为:var arrayName [size]dataType,其中arrayName是数组的名称,size是数组的大小,dataType是数组中元素的数据类型。例如,下面是一个包含5个整数的数组的定义:

var 数组名字  [数组长度]数组类型
var myArray [5]int

数组的声明初始化方式

在这里插入图片描述

数组变量的类型 arr的特征

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

数组的遍历

Golang中,可以使用for循环来遍历数组中的元素。下面是一个简单的示例:

var myArray [5]int
myArray[0] = 1
myArray[1] = 2
myArray[2] = 3
myArray[3] = 4
myArray[4] = 5for i := 0; i < len(myArray); i++ {fmt.Println(myArray[i])
}for key,value := range myArray{fmt.Println(myArray[key]) //key就是下标
}

在这个示例中,我们首先定义了一个包含5个整数的数组myArray,并将其初始化为1、2、3、4和5。然后,我们使用for循环遍历数组中的每个元素,并使用fmt.Println函数将其打印出来。
在这里插入图片描述

遍历的用法二

在这里插入图片描述

数组的值传递

在这里插入图片描述

数组的引用&取地址 传送

在这里插入图片描述

二维数组的相关操作

Golang中,可以使用二维数组来存储表格数据或矩阵等数据结构。二维数组的定义形式为:var arrayName [size1][size2]dataType,其中arrayName是数组的名称,size1和size2是数组的大小,dataType是数组中元素的数据类型。例如,下面是一个包含3行4列的整数二维数组的定义:

定义

var myArray [3][4]int

在这里插入图片描述
在这里插入图片描述

二维数组初始化

在这里插入图片描述

遍历

二维数组的遍历和一维数组类似,可以使用嵌套的for循环来遍历每个元素。下面是一个简单的示例:

var myArray [3][4]intfor i := 0; i < len(myArray); i++ {for j := 0; j < len(myArray[i]); j++ {myArray[i][j] = i * j}
}

在这里插入图片描述

在这个示例中,我们首先定义了一个包含3行4列的整数二维数组myArray。然后,我们使用嵌套的for循环遍历数组中的每个元素,并将其设置为该元素的行索引乘以列索引。

除了遍历二维数组,还可以使用下标运算符来访问二维数组中的单个元素。例如,下面是一个访问二维数组中特定元素的示例:

var myArray [3][4]intmyArray[1][2] = 10

在这个示例中,我们将二维数组myArray的第2行第3列元素设置为10。

总结

在Golang中,数组是一种基本数据类型,它可以存储一组相同类型的数据。数组的长度是固定的,一旦定义就不能改变。可以使用for循环来遍历数组中的元素,也可以使用下标运算符来访问数组中的单个元素。二维数组是一种特殊的数组,它可以用于存储表格数据或矩阵等数据结构。遍历二维数组可以使用嵌套的for循环,也可以使用下标运算符来访问特定的元素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RNN、LSTM、Seq2Seq

目录 时间序列表示梯度弥散和梯度爆炸RNN&#xff08;循环神经网络&#xff09;LSTMSeq2SeqELMo 时间序列表示 核心是加入历史信息去预测下一步骤 在NLP中&#xff0c;序列维度一般是这个样子:[b,seq_len,feature_len] b个句子&#xff0c;每个句子seq_len个单词&#xff0c;…

【复习10-12天内容】【我们一起60天准备考研算法面试(大全)-第十四天 14/60】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

OK3588运行python程序对摄像头数据进行图像处理

OK3588运行python程序读取usb摄像头 硬件连接用工具测试验证摄像头工作正常python 读取usb摄像头并进行图像处理 硬件连接 把usb摄像头插入HOST的usb接口。 在串口终端运行 sudo v4l2-ctl --list-devices 如下图 当前的usb设备是 /dev/video74 用工具测试验证摄像头工作正常…

贪心算法、贪心搜索/采样(greedy search/sampling)、集束搜索(beam search)、随机采样(random sample)

首先需要了解贪心算法&#xff1a; 贪心算法&#xff0c;又名贪婪法&#xff0c;是寻找最优解问题的常用方法&#xff0c;这种方法模式一般将求解过程分成若干个步骤&#xff0c;但每个步骤都应用贪心原则&#xff0c;选取当前状态下最好/最优的选择&#xff08;局部最有利的选…

Android之Intent

意图介绍 一个意图(Intent)对象包含了目标组件、动作、数据、类别、附加数据、标志六个部分。 目标组件 目标组件可以帮助应用发送显式意图调用请求。在创建Intent时&#xff0c;可以通过setComponent方法来设置一个组件&#xff0c;如&#xff1a; //设置组件 intent.setC…

LRU 缓存

题目链接 LRU 缓存 题目描述 注意点 如果插入操作导致关键字数量超过 capacity &#xff0c;则应该 逐出 最久未使用的关键字函数 get 和 put 必须以 O(1) 的平均时间复杂度运行 解答思路 如果想以O(1)的速度进行get&#xff0c;则需要将对应的key、value存到map中如果想…

​ 基于单片机智能温室大棚控制系统

功能介绍 以51单片机作为主控系统&#xff1b; DS18B20温度采集模块检测温度&#xff1b; 光敏电阻和ADC0832组成的光照检测模块&#xff1b; 土壤湿度检测模块检测土壤湿度&#xff1b; CO2检测模块检测CO2浓度&#xff1b; LCD1602显示模块显示测量值、 若温度小于温度最…

【2023江西省研究生数学建模竞赛】第三题 植物的多样性 48页论文及Python代码

【2023江西省研究生数学建模竞赛】第三题 植物的多样性 48页论文及Python代码 相关链接 【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码 【江西省研究生数学建模竞赛】第一题 蒸汽发生器倒U型管内液体流动 70页论文及MATLAB代码 【2…

车道线检测|利用边缘检测的原理对车道线图片进行识别

前言 那么这里博主先安利一些干货满满的专栏了&#xff01; 这两个都是博主在学习Linux操作系统过程中的记录&#xff0c;希望对大家的学习有帮助&#xff01; 操作系统Operating Syshttps://blog.csdn.net/yu_cblog/category_12165502.html?spm1001.2014.3001.5482Linux S…

【深度学习】受限玻尔兹曼机 (RBM) 初学者指南

一、说明 受限玻尔兹曼机&#xff08;Restricted Boltzmann Machine&#xff0c;RBM&#xff09;是一种基于能量模型的人工神经网络。它只有一个隐层&#xff0c;将输入层和隐层中的每个神经元互相连接&#xff0c;但不同层的神经元之间没有连接。RBM是一种无向的概率图模型&am…

一套完全开源,支持多租户,界面配置单点的后端框架JVS

JVS的多租户体系统 在IT系统中&#xff0c;“租户”&#xff08;tenant&#xff09;通常用于指代一种多租户架构&#xff08;multi-tenancy&#xff09;&#xff0c;它是一种软件架构模式&#xff0c;允许多个用户或组织共享相同的应用程序或系统实例&#xff0c;但彼此之间的…

7.5 SpringBoot 拦截器Interceptor实战 统一角色权限校验

文章目录 前言一、定义注解annotation二、拦截角色注解1. 在拦截器哪里拦截&#xff1f;2. 如何拦截角色注解&#xff1f;3. 角色如何读取?4. 最后做角色校验 三、应用&#xff1a;给管理员操作接口加注解四、PostMan测试最后 前言 在【7.1】管理员图书录入和修改API&#xf…

JMeter 中 3 种参数值的传递

目录 前言&#xff1a; (一) 从 CSV 文件读取要批量输入的变量 (二) 利用 Cookie 进行值的传递 (三) 利用正则匹配提取上一个接口的返回数据作为下个请求的输入 前言&#xff1a; 在JMeter中&#xff0c;参数值的传递是非常重要的&#xff0c;因为它允许你在测试过程中动态…

右键pdf文件没有打印

问题描述 右键点pdf文件&#xff0c;弹出的菜单找不到打印选项。网上找了很多办法&#xff0c;然并卵啊。还是得靠自己慢慢摸索。 原因分析 新安装的win11系统&#xff0c;pdf文件默认可以用windows自带的edge浏览器打开。但是edge浏览器没有能力提供右键打印功能。 解决办法…

详解LeafLet中如何展示GeoServer发布的图层组

目录 前言 一、关于图层组 1、使用图层图组的好处 2、创建图层组 二、在Leaflet中展示图层组 1、新建Html模板框架 2、绑定地图map和底图设置 3、绑定图层组 总结 前言 在之前的博文中&#xff0c;曾经重点介绍如何使用LeafLet叠加Geoserver wms图层到已有底图的方法 ,…

Python应用:什么是爬虫?

文章目录 什么是爬虫虫之初&#xff0c;性本善&#xff1f;出行社交电商搜索引擎政府部门总结 面向监狱编程爬虫的君子协议什么是君子协议君子协议是怎么产生的&#xff1f;君子协议是什么内容&#xff1f;如何查看一个网站的robots协议违反君子协议的案例 参考文献 2022年初的…

x86架构ubuntu22下运行SFC模拟器zsnet

0. 环境 ubuntu22 1. apt安装 sudo apt install zsnes 2. 运行 zsnet 参考&#xff1a;在Ubuntu上用zsnes玩SFC游戏&#xff0c;https://blog.csdn.net/gqwang2005/article/details/3877121

Linux学习之系统默认打开的文件描述符、重定向

系统默认打开的文件描述符 一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符。可以在/proc/PID/fd里边可以看到打开文件的描述符&#xff0c;PID需要改成具体的pid&#xff0c;比如可以使用A终端输入vim proctest之后按下回车键。 打开一个vim编辑窗口。 再打…

Unity游戏源码分享-卡通填色游戏Drawing Coloring Extra Edition 1.09

Unity游戏源码分享-卡通填色游戏Drawing Coloring Extra Edition 1.09 非常适合小朋友玩的小游戏 功能很齐全完善 项目地址&#xff1a;https://download.csdn.net/download/Highning0007/88050261

使用MFC CAD 的一些使用方式记录【追加ing】

1. 项目调试&#xff1a;由于项目很大&#xff0c;因此&#xff0c;我们调试的时候&#xff0c;不应该编译整个软件而是应该只编译对应的 类去做处理 2. debug 设置断点方面&#xff1a; 以往我们的操作都是在.exe直接执行文件上进行操作&#xff0c;但是&#xff0c;现在&am…