返回顶部
首页 > 资讯 > 后端开发 > GO >Go 容器遍历的实现示例
  • 468
分享到

Go 容器遍历的实现示例

2024-04-02 19:04:59 468人浏览 安东尼
摘要

前文回顾 前面的文章主要介绍了 Go 语言中提供了 list 列表和 Map 映射关系容器,这两种容器都是我们日常经常使用到的。介绍了好多种的 Go 语言提供的基础容器,免不了要查

前文回顾

前面的文章主要介绍了 Go 语言中提供了 list 列表和 Map 映射关系容器,这两种容器都是我们日常经常使用到的。介绍了好多种的 Go 语言提供的基础容器,免不了要查询容器中的数据,那么是如何实现遍历的呢?本文将会介绍几种常用容易的遍历及其使用。

容器遍历

Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。
遍历对于很多 golang 的内置容器来说,形式都是基本一致的,主要通过 for-range 语法,我们将通过以下的例子分别展示数组、切片和字典的遍历过程,代码如下所示:


package main

import "fmt"

func main()  {

 // 数组的遍历
 nums := [...]int{1,2,3,4,5,6,7,8}
 for k, v:= range nums{
  // k 为下标,v 为对应的值
  fmt.Println(k, v, " ")
 }

 fmt.Println()

 // 切片的遍历
 slis := []int{1,2,3,4,5,6,7,8}
 for k, v:= range slis{
  // k 为下标,v 为对应的值
  fmt.Println(k, v, " ")
 }

 fmt.Println()

 // 字典的遍历
 tmpMap := map[int]string{
  0 : "小明",
  1 : "小红",
  2 : "小张",
 }

 for k, v:= range tmpMap{
  // k 为键值,v 为对应值
  fmt.Println(k, v, " ")
 }
}

通过 for-range 可以对数组、切片和字典以同样的方式进行遍历。如果仅需要遍历值,可以将不需要的键改为匿名变量形式,如下所示:


for _, v := range nums {

仅遍历键时,可以直接省略掉无用值的赋值。在 for-range 遍历的过程中,因为键和值都是通过拷贝的方式进行赋值,对它们进行修改并不会影响到容器内成员的变化,这点需要我们在实际开发中多加注意。

小结

本文主要介绍了容器的遍历。go 语言中主要通过 for-range 语法,文中实际的案例分别展示了数组、切片和字典的遍历过程。
在数组上使用 range 将传入 index 和值两个变量。当我们不需要使用该元素的序号,可以使用空白符"_"省略了。不过有些场景可能确实需要知道它的索引。 

到此这篇关于Go 容器遍历的实现示例的文章就介绍到这了,更多相关Go 容器遍历内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网! 

您可能感兴趣的文档:

--结束END--

本文标题: Go 容器遍历的实现示例

本文链接: https://lsjlt.com/news/128131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Go 容器遍历的实现示例
    前文回顾 前面的文章主要介绍了 Go 语言中提供了 list 列表和 Map 映射关系容器,这两种容器都是我们日常经常使用到的。介绍了好多种的 Go 语言提供的基础容器,免不了要查...
    99+
    2024-04-02
  • Go循环遍历的示例分析
    小编给大家分享一下Go循环遍历的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在Golang的流程控制中,循环语句有for和range两种。for语句1....
    99+
    2023-06-06
  • Go遍历struct,map,slice的实现
    目录遍历结构体 遍历切片 遍历MapGolang json序列化(struct,int,map,slice)遍历结构体 如何实现遍历结构体字段? 好吧,言归正传!举个例子:...
    99+
    2024-04-02
  • Java实现广度优先遍历的示例详解
    目录什么是广度优先一个简单的例子程序实现总结什么是广度优先 广度就是扩展开,广度优先的意思就是尽量扩展开。所以在算法实现的时候,就是一个循环遍历枚举每一个邻接点。其基本思路就是按层扩...
    99+
    2024-04-02
  • js中遍历的示例分析
    这篇文章将为大家详细讲解有关js中遍历的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。forEaches5出来的方法,这是我在react中用的最多的遍历方法之一,...
    99+
    2024-04-02
  • C++实现图的遍历算法(DFS,BFS)的示例代码
    目录图的定义图的相关术语图的创建(邻接矩阵)---结构体图的创建(邻接矩阵)---邻接矩阵的创建图的创建(邻接表)---结构体图的创建(邻接表)---邻接表的创建对邻接矩阵进行深度优...
    99+
    2024-04-02
  • go语言yaml转map、map遍历的实现
    yaml文件内容 apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: mysql-snaps...
    99+
    2024-04-02
  • 深思 PHP 数组遍历的差异(array_diff 的实现)284435示例
    前两天看到有人要编个考试系统,当时只是简单回了下用随机函数RND   实际一般需要从数据库中随机提取N道题目。   以下代码都基于VBS;   通常的编写类似这样的 '产...
    99+
    2023-05-20
    ASP生成不重复随机数字的另类思路
  • 深思 PHP 数组遍历的差异(array_diff 的实现)284455示例
    前两天看到有人要编个考试系统,当时只是简单回了下用随机函数RND   实际一般需要从数据库中随机提取N道题目。   以下代码都基于VBS;   通常的编写类似这样的 '产...
    99+
    2023-05-20
    ASP生成不重复随机数字的另类思路
  • js遍历集合的示例分析
    这篇文章将为大家详细讲解有关js遍历集合的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Array可以使用下标,Map和Set不能使用下标,ES6引入了itera...
    99+
    2024-04-02
  • java栈实现二叉树的非递归遍历的示例代码
    一般来说遍历二叉树用到递归,但是用Stack进行遍历也是一个不错的方法。 二叉树设置 class Node{ public int val; public Node left...
    99+
    2024-04-02
  • Go语言怎么实现二叉树遍历
    这篇文章主要讲解了“Go语言怎么实现二叉树遍历”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言怎么实现二叉树遍历”吧!1. 二叉树的定义二叉树需满足的条件① 本身是有序树② 树中包含的...
    99+
    2023-06-30
  • C++图的遍历实例分析
    这篇文章主要介绍了C++图的遍历实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++图的遍历实例分析文章都会有所收获,下面我们一起来看看吧。图的遍历要想遍历图,肯定要先储存图啊。下面我们采用邻接表来存图...
    99+
    2023-06-30
  • python的序列遍历和字典遍历的实现方法
    这篇文章主要介绍“python的序列遍历和字典遍历的实现方法”,在日常操作中,相信很多人在python的序列遍历和字典遍历的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • C++实现STL容器的示例
    各大容器的特点: 1.可以用下标访问的容器有(既可以插入也可以赋值):vector、deque、map; 特别要注意一下,vector和deque如果没有预先指定大小,是不能用下标法...
    99+
    2024-04-02
  • angular中forEach方法遍历的示例分析
    这篇文章主要介绍angular中forEach方法遍历的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下function forEach(obj,&nbs...
    99+
    2024-04-02
  • javascript对象遍历顺序的示例分析
    这篇文章给大家分享的是有关javascript对象遍历顺序的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为JavaScr...
    99+
    2023-06-14
  • C#中Foreach循环遍历的示例分析
    这篇文章给大家分享的是有关C#中Foreach循环遍历的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、创建一个控制台应用程序2、编写测试代码并分析在Program类中写一个foreach循环class...
    99+
    2023-06-20
  • Android sqlite cursor的遍历实例详解
    查询并获得了cursor对象后,用while(corsor.moveToNext()){}遍历,当corsor.moveToNext()方法调用,如果发现没有对象,会返回false ...
    99+
    2024-04-02
  • 详解Go语言如何实现二叉树遍历
    目录1. 二叉树的定义2. 前序遍历3. 中序遍历4. 后序遍历1. 二叉树的定义 二叉树需满足的条件 ① 本身是有序树 ② 树中包含的各个节点的长度不能超过2,即只能是0、1或者2...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作