go语言从例子开始之Example11.range遍历
2024-10-07 16:58:06
range 迭代各种各样的数据结构。让我们来看看如何在我们已经学过的数据结构上使用 rang
吧。
package main
import "fmt"
func main() {
这里我们使用 range 来统计一个 slice 的元素个数。数组也可以采用这种方法。 nums := []int{2, 3, 4}
sum := 0
for _, num := range nums {
sum += num
}
fmt.Println("sum:", sum)
range 在数组和 slice 中都同样提供每个项的索引和值。上面我们不需要索引,所以我们使用 空值定义符_ 来忽略它。有时候我们实际上是需要这个索引的。 for i, num := range nums {
if num == 3 {
fmt.Println("index:", i)
}
}
range 在 map 中迭代键值对。 kvs := map[string]string{"a": "apple", "b": "banana"}
for k, v := range kvs {
fmt.Printf("%s -> %s\n", k, v)
}
range 在字符串中迭代 unicode 编码。第一个返回值是rune 的起始字节位置,然后第二个是 rune 自己。 for i, c := range "go" {
fmt.Println(i, c)
}
}
Result:
$ go run range.go
sum: 9
index: 1
a -> apple
b -> banana
0 103
1 111
最新文章
- 【JUC】JDK1.8源码分析之ThreadPoolExecutor(一)
- 软删除脏数据job笔记
- PROTEL DXP原理图编译 常见错误与处理方法
- Python自然语言工具包(NLTK)入门
- devi into python 笔记(三)callable getattr lambda表达式
- ORACLE调度之基于事件的调度(二)【weber出品】
- 部署Redis主-从
- ThoughtWorks开发持续集成及部署利器:Go
- python 中的%s是什么意思呢?
- windows 异常处理
- spring-boot mybatis配置
- rocketmq在linux搭建双master遇到的坑
- 如何使用HttpClient包实现JAVA发起HTTP请求?
- day05_python_1124
- FM/FFM原理
- js操作cookie(转载:经测试可用)
- 浅谈python中的“ ==” 与“ is”
- OSX下git diff/merge 可视化工具 P4Merge 环境配置步骤
- flume 配置说明
- 【hdoj_1250】Hat's Fibonacci(大数)
热门文章
- Sass--混合宏的不足
- Sass--传一个带值的参数
- html5 jquery音乐播放器,play()和pause()不起作用
- Vue:替换/合并现有的特性
- springboot中MongoDB的使用
- sqlserver 之 将查询结果变为json字符串
- [原创] Delphi Create(Application) 和 Create(nil) 的区别
- visual studio code的使用
- HDU 6034 Balala Power! —— Multi-University Training 1
- Apache搭建http网站服务器入门教程