golang 循环

请注意,本文编写于 171 天前,最后修改于 145 天前,其中某些信息可能已经过时。

code

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
)

//整数转二进制,for 循环可以省略起始条件,相当于 while
func convertToBin(n int) string {
    result := ""
    for ; n > 0; n /= 2 {
        lsb := n % 2
        result = strconv.Itoa(lsb) + result
    }
    return result
}

//初始条件和递增条件都可以省略,相等于 while
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())
    }
}

//初始条件,递增条件和结束条件都可以省略,相当于死循环
func forever() {
    for {
        fmt.Println("forever print")
    }
}

func transferParameters() {
    fmt.Println(
        convertToBin(5),
        convertToBin(13),
    )
}

func main() {
    transferParameters()
    printFile("abc.txt")
}

result

不停输出forever print

101 1101
hello
world
hello
golang
forever print
forever print
forever print
forever print
forever print
forever print
... ...

此处评论已关闭