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

【go从零单排】go中的range的用法

挪威特罗姆瑟夜景

Don’t worry , just coding!
内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。

概念

range 关键字用于迭代数组、切片、字符串、映射(map)或通道(channel)等数据结构的元素。range 的基本语法如下:
for index, value := range collection {
// 迭代逻辑
}
index 是当前元素在集合中的索引(对于切片、数组、字符串),或者是键(对于映射)。
value 是当前元素的副本,可以是集合中的元素值(对于切片、数组、字符串),或者是键对应的值(对于映射)。

代码

package main

import "fmt"

func main() {
	//定义slice 赋值给变量nums
	nums := []int{2, 3, 4}
	sum := 0
	//range() 返回两个参数,第一个是索引,第二个是value,这里不需要索引只要计算值可以用_代替
	for _, num := range nums {
		sum += num
	}
	fmt.Println("sum:", sum)
	//返回value为3的元素索引
	for i, num := range nums {
		if num == 3 {
			fmt.Println("index:", i)
		}
	}
	//定义map key和value的类型都是string,赋值给kvs
	kvs := map[string]string{"a": "apple", "b": "banana"}
	//遍历并且打印key,value
	for k, v := range kvs {
		fmt.Printf("%s -> %s\n", k, v)
	}
	//只需要key不需要value时这样写
	for k := range kvs {
		fmt.Println("key:", k)
	}
	//便利字符串“go”,并返回索引和值,这里会返回字母的unicode编码值
	for i, c := range "go" {
		fmt.Println(i, c)
	}
}

理解

go中的range会返回2个元素,第一个是索引,第二个才是值。

掌握知识的最好方式就是教会别人,每篇文章都讲清楚一个知识点,欢迎留言我一起讨论。


http://www.kler.cn/a/392492.html

相关文章:

  • 文件夹被占用了无法删除怎么办?强制粉碎文件夹你可以这样操作
  • 【JVM】关于JVM的内部原理你到底了解多少(八股文面经知识点)
  • 九州未来再度入选2024边缘计算TOP100
  • Mit6.S081-实验环境搭建
  • nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。
  • MySQL_第13章_视图
  • 【原创】java+ssm+mysql美食论坛网系统设计与实现
  • macOS 应用公证指南:使用 fastlane 实现自动化公证流程
  • 网络安全之信息收集
  • AlphaFold3中文使用说明
  • 11月上海月赛解报告(丙组)T5
  • Castle.DynamicProxy的NET Core和Framework的AOP实施
  • 15 个改变世界的开源项目:塑造现代技术的先锋力量
  • 在 .NET 6.0 中创建用于 CRUD 操作的 Web API
  • 上河AI上线ComfyUI工作台
  • 如何使用OpenCV和Python进行相机校准
  • Python+robotframework接口自动化测试实操(超详细总结)
  • 【Docker】Docker基础及docker-compose
  • 传奇996_19——龙岭总结
  • 最全最简单理解迭代器
  • HarmonyOS 如何实现传输中的数据加密
  • 《DiffusionDet: Diffusion Model for Object Detection》ICCV2023
  • Android Mobile Network Settings | APN 菜单加载异常
  • Docker如何以配置文件方式安装nginx
  • WPF应用设置参数存储
  • 【Linux】Linux环境基础开发工具使用(下)