六、go 循环
一、FOR语句
for
的条件里不需要括号for
的条件里可以省略初始条件,结束条件,递增表达式
1. 普通的for循环
package main
import "fmt"
func main() {
sum := 0
for i := 0; i <= 10; i++ {
sum += i
}
fmt.Println(sum)
}
2. 省略初始化
十进制转二进制
13
转二进制,等于 1101
表达式 | 等于 | 余数 | 结果 |
---|---|---|---|
13 / 2 | 6 | 1 | 1 |
6 / 2 | 3 | 0 | 01 |
3 / 2 | 1 | 1 | 101 |
1 / 2 | 0 | 1 | 1101 |
package main
import (
"fmt"
"strconv"
)
func convertToBin(n int) string {
result := ""
for ; n > 0; n /= 2 {
lsb := n % 2
result = strconv.Itoa(lsb) + result
}
return result
}
func main() {
fmt.Println(
convertToBin(5), // 101
convertToBin(13), // 1101
)
}
3. 省略封号
for condition { }
相当于就是while
语句,所以go
没有单独的while
语句,condition
就是条件
var i int
for i <= 10 {
i++
}
4. 无限循环
sum := 0
for {
sum++
if sum > 100 {
break
}
}