一、FOR语句

  1. for的条件里不需要括号
  2. 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 
    } 
}