go语言中没有while语句,只有for语句。
    ①for可以省略初始条件

    1. package main
    2. import (
    3. "fmt"
    4. "strconv"
    5. )
    6. // 十进制转二进制
    7. func convertToBin(n int) string{
    8. result := ""
    9. for ; n > 0; n /= 2 {
    10. lsb := n % 2
    11. result = strconv.Itoa(lsb) + result
    12. }
    13. return result
    14. }

    ②for可以同时省略初始条件和递增表达式

    // 打印文件内容
    func printFile(filename string) {
        file, err := os.Open(filename)
        if err != nil {
            panic(err)
        }
        scanner := bufio.NewScanner(file)
        for scanner.Scan() {
            fmt.Println(scanner.Text())
        }
    }
    

    ③for可以同时省略初始条件、递增表达式和终止条件。此时,for语句相当于一个死循环。

    // 死循环
    func forever() {
        for {
            fmt.Println("abc")
        }
    }