当前位置:网站首页>(七)循环语句for
(七)循环语句for
2022-06-12 16:43:00 【二进制杯莫停】
1 for关键字
1.1 标准写法
和 C 语言的 for 一样:
for init; condition; post {
}
- init: 一般为赋值表达式,给控制变量赋初值;
- condition: 关系表达式或逻辑表达式,循环控制条件;
- post: 一般为赋值表达式,给控制变量增量或减量。
实例:计算 1 到 10 的数字之和:
package main
import "fmt"
func main() {
sum := 0
for i := 0; i <= 10; i++ {
sum += i
}
fmt.Println(sum)
}
1.2 与C语言while类似
和 C 的 while 一样:
for condition {
}
实例:在 sum 小于 10 的时候计算 sum 自相加后的值
package main
import "fmt"
func main() {
sum := 1
// 这样写也可以,更像 While 语句形式
for sum <= 10{
sum ++
}
fmt.Println(sum)
}
1.3 无限循环
和 C 的 for(; 一样:
for {
}
实例:无限循环
package main
import "fmt"
func main() {
sum := 0
for {
sum++ // 无限循环下去
}
fmt.Println(sum) // 无法输出
}
1.4 跳出循环的语句
- break:跳出循环体。
- continue:跳出一次循环。
1.5 复合类型使用for-each range循环
For-each range 循环
这种格式的循环可以对字符串、数组、切片等进行迭代输出元素。
package main
import "fmt"
func main() {
strings := []string{
"google", "runoob"}
for i, s := range strings {
fmt.Println(i, s)
}
numbers := [6]int{
1, 2, 3, 5}
for i,x:= range numbers {
fmt.Printf("第 %d 位 x 的值 = %d\n", i,x)
}
}
以上实例运行输出结果为::
0 google
1 runoob
第 0 位 x 的值 = 1
第 1 位 x 的值 = 2
第 2 位 x 的值 = 3
第 3 位 x 的值 = 5
第 4 位 x 的值 = 0
第 5 位 x 的值 = 0
for 循环的 range 格式可以省略 key 和 value,如下实例:
package main
import "fmt"
func main() {
map1 := make(map[int]float32)
map1[1] = 1.0
map1[2] = 2.0
map1[3] = 3.0
map1[4] = 4.0
// 读取 key 和 value
for key, value := range map1 {
fmt.Printf("key is: %d - value is: %f\n", key, value)
}
// 读取 key
for key := range map1 {
fmt.Printf("key is: %d\n", key)
}
// 读取 value
for _, value := range map1 {
fmt.Printf("value is: %f\n", value)
}
}
以上实例运行输出结果为:
key is: 4 - value is: 4.000000
key is: 1 - value is: 1.000000
key is: 2 - value is: 2.000000
key is: 3 - value is: 3.000000
key is: 1
key is: 2
key is: 3
key is: 4
value is: 1.000000
value is: 2.000000
value is: 3.000000
value is: 4.000000
边栏推荐
- 如何基于CCS_V11新建TMS320F28035的工程
- pbootcms的if判断失效直接显示标签怎么回事?
- Dynamic loading and execution of programs
- generate pivot data 0
- The C programming language (version 2) notes / 8 UNIX system interface / 8.4 random access (lseek)
- 890. find and replace mode / Sword finger offer II 080 Combination with k elements
- [Hunan University] information sharing of the first and second postgraduate entrance examinations
- Uniapp壁纸小程序源码/双端微信抖音小程序源码
- Which colleges are particularly easy to enter?
- Iscc-2022 part WP
猜你喜欢
随机推荐
[BSP video tutorial] BSP video tutorial issue 17: single chip microcomputer bootloader topic, startup, jump configuration and various usage of debugging and downloading (2022-06-10)
The C programming language (version 2) notes / 8 UNIX system interface / 8.4 random access (lseek)
ISCC-2022 部分wp
MySQL interview arrangement
Leetcode 2190. 数组中紧跟 key 之后出现最频繁的数字(可以,一次过)
Project training of Shandong University rendering engine system (V)
Golang recursively encrypts and decrypts all files under the specified folder
The C programming language (version 2) notes / 8 UNIX system interface / 8.3 open, create, close, unlink
Why is your next computer a computer? Explore different remote operations
启牛开的证券账户安全吗?合法吗?
有哪些特容易考上的院校?
【研究】英文论文阅读——英语poor的研究人员的福利
WebRTC 的音频网络对抗概述
Project training of Shandong University rendering engine system (II)
Three paradigms of database
修改自己电脑连接的路由器的配置网址192.168.1.1
Leetcode 2194. Excel 錶中某個範圍內的單元格(可以,已解决)
收藏 | 22个短视频学习Adobe Illustrator论文图形编辑和排版
vim 从嫌弃到依赖(16)——宏
从50亿图文中提取中文跨模态新基准Zero,奇虎360全新预训练框架超越多项SOTA








