厚土Go学习笔记 | 21. range用法
时间:2022-05-06
本文章向大家介绍厚土Go学习笔记 | 21. range用法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
range是一个内置函数。可以遍历数组
、切片slice
、字典map
。
当遍历数组和切片的时候,返回的是索引和元素。
当遍历字典的时候,返回字典的键和值。
//range遍历切片的所有元素,并求和
fibo := []int{2,3,5,8,13,34,55}
sum := 0
for index, num := range fibo {
sum += num
fmt.Println(index, num, sum)
}
fmt.Println("sum:", sum)
如果你不需要 range 返回的某个值,比如 index,你可以把它写成 _
,这个就可以忽略这个返回值了。
//range遍历切片的所有元素,并求和
fibo := []int{2,3,5,8,13,34,55}
sum := 0
for _, num := range fibo {
sum += num
fmt.Println(num, sum)
}
fmt.Println("sum:", sum)
range还可以遍历字符串
//range遍历字符串,返回字符索引和Unicode编码。
for i, c := range "go"{
fmt.Printf("%d, %cn", i, c)
}
map 字典也是可以使用 range 遍历的
//range遍历字典,返回键值对。
kvs := map[string]string{"a":"apple", "b":"banana", "c":"cofox"}
for k, v := range kvs {
fmt.Printf("%s -> %sn", k, v)
}
还是把完整代码拿出来看一下吧。
package main
import (
"fmt"
)
func main() {
//range遍历切片的所有元素,并求和
fibo := []int{2,3,5,8,13,34,55}
sum := 0
for _, num := range fibo {
sum += num
fmt.Println(num, sum)
}
fmt.Println("sum:", sum)
//range遍历字符串,返回字符索引和Unicode编码。
for i, c := range "go"{
fmt.Printf("%d, %cn", i, c)
}
//range遍历字典,返回键值对。
kvs := map[string]string{"a":"apple", "b":"banana", "c":"cofox"}
for k, v := range kvs {
fmt.Printf("%s -> %sn", k, v)
}
}
运行结果如下
2 2
3 5
5 10
8 18
13 31
34 65
55 120
sum: 120
0, g
1, o
a -> apple
b -> banana
c -> cofox
- android 实现倒影
- InvokeHelper类
- Android官方支持百分比设置宽和高的控件及示例
- Extjs radio布局--横向排列
- 第六章 正则表达式的构建
- android 自定义相机
- Android学习第六弹之 Android字体大小自适应不同分辨率的方法
- 仿12306查询火车票功能
- Spring Boot开发Web应用
- C#/.NET RestSharp网络组件实现上传文件到远程服务器【可跨域传文件】
- android 自定义gallerey并实现预览功能
- Android学习第五弹之Matrix的用法
- 推荐一款超强大的基于Angularjs的自动完成(Autocomplete)标签及标签组插件–ngTagsInput
- Android新组件RecyclerView介绍,其效率更好
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Flutter基础widgets教程-Row篇
- padans 关于数据处理的杂谈 -- 时序数
- python pandas DataFrame 关于重复索引取值的一些坑
- selenium webdriver 如何添加cookie
- Flutter基础widgets教程-Scaffold篇
- python selenium 微信公众号历史文章随手一点就返回首页?郁闷之下只好将他们都下载下来。
- Flutter基础widgets教程-SimpleDialog篇
- python selenium 关于将网页打包为静态网页(mhtml)下载。
- Redis:哨兵
- Python中设置指定窗口为前台活动窗口(最顶层窗口)win32gui
- 关于pandas.eval使用的一些问题。
- Flutter基础widgets教程-Slider篇
- 带你认识Pytest(三)
- Additive Powers-of-Two (APoT) Quantization:硬件友好的非均匀量化方法
- Flutter基础widgets教程-SnackBar篇