Go- for 循环
版权声明: 本文为 InfoQ 作者【HelloBug】的原创文章。
原文链接:【http://xie.infoq.cn/article/58f5c741a0f86d25f54c80937】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。
Go 学习笔记,学习内容《Go入门指南》
主要介绍以下内容:
基于计数器的迭代
基于条件判断的迭代
无限循环
for-range 结构
代码示例可以直接运行
package main
import (
"fmt"
)
func main() {
/*
基于计数器的迭代
*/
for i := 0; i < 3; i++ { // 左花括号必须和for在同一行,代码块中不要修改条件变量的值
fmt.Printf("%d ", i) // 输出:0 1 2
}
fmt.Println()
str := "Hello"
for i := 0; i < len(str); i++ {
fmt.Printf("%c ", str[i]) // 输出:H e l l o
}
fmt.Println()
/*
基于条件判断的迭代
*/
var i int = 3
for i > 0 {
fmt.Printf("%d ", i) // 输出:3 2 1
i--
}
fmt.Println()
/*
无限循环
for ;; { // ;; 会被 gofmt 移除
break
}
*/
for {
break
}
for true {
break
}
for i := 0; ; i++ {
break
}
/*
for-range结构
for ix, val := range(xxx) xxx可以为字符串、数组、切片、map等,可以为任何一个集合
val为值的拷贝,不是引用
*/
str = "GO FOR IT"
for pos, char := range str {
fmt.Printf("%d %c\n", pos, char)
}
/* 以上代码块输出:
1 O
2
3 F
4 O
5 R
6
7 I
8 T
*/
}
版权声明: 本文为 InfoQ 作者【HelloBug】的原创文章。
原文链接:【http://xie.infoq.cn/article/58f5c741a0f86d25f54c80937】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。
还未添加个人签名 2018.09.20 加入
还未添加个人简介
促进软件开发及相关领域知识与创新的传播
评论