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)
	}
相关推荐
Penge6665 小时前
Go 接口编译期断言
后端
我是一颗柠檬5 小时前
【MySQL全面教学】MySQL面试高频考点汇总Day15(2026年)
数据库·后端·mysql·面试
星空椰6 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
拽着尾巴的鱼儿6 小时前
springboot openfeign 自定义feign 接口重试机制
java·spring boot·后端
白露与泡影6 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
Ceelog6 小时前
久坐党自救指南:屏幕前 8 小时,身体到底在经历什么
前端·后端
凯瑟琳.奥古斯特6 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
雪度娃娃7 小时前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
XS0301067 小时前
并发编程 六
java·后端
雪宫街道7 小时前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试