go 语言随笔1

range 关键字

用于for循环中迭代数组(array)、切片(slice)、链表(channel)或集合(map)的元素。

  1. 返回数组、切片的索引
go 复制代码
//声明一个切片
	nums := []int{1,2,3,4}
	sun := 0
	//_表示空白符,省略了key
	for _,num := range nums{
		sun += num
	}
	fmt.Println("sun = ",sun)
	//在数组上使用range将传入index和值两个变量,
	for i,num := range nums{
		if num == 3 {
			fmt.Println("index = ",i)
		}
	}
  1. 返回集合(map)的key
go 复制代码
kvs := map[string]string{"a":"apple","b":"banana"}
	for k,v := range kvs{
		fmt.Printf("%s -> %s\n",k,v)
	}
  1. 返回字符串的索引和对应的Unicode的值
go 复制代码
for i,c := range "php"{
		fmt.Println(i,c)
	}
相关推荐
小二·5 分钟前
Go 语言系统编程与云原生开发实战(第10篇)性能调优实战:Profiling × 内存优化 × 高并发压测(万级 QPS 实录)
开发语言·云原生·golang
多多*7 分钟前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#
小高Baby@23 分钟前
Golang中面向对象的三大特性之多态的理解
数据结构·golang
xyq202424 分钟前
jEasyUI 自定义分页
开发语言
.ZGR.27 分钟前
认识数据结构:图——无人机防空平台的“衍生品”
java·开发语言·数据结构
波波00737 分钟前
Native AOT 能改变什么?.NET 预编译技术深度剖析
开发语言·.net
wkm95640 分钟前
在arm64 ubuntu系统安装Qt后编译时找不到Qt3DExtras头文件
开发语言·arm开发·qt
晚风吹长发1 小时前
初步了解Linux中的线程同步问题及线程安全和死锁与生产消费者模型
linux·运维·服务器·开发语言·数据结构·安全
学嵌入式的小杨同学1 小时前
【Linux 封神之路】进程进阶实战:fork/vfork/exec 函数族 + 作业实现(含僵尸进程解决方案)
linux·开发语言·vscode·嵌入式硬件·vim·软件工程·ux