05.迴圈

JJJhr發表於2024-07-07

for迴圈

  • for 的條件裡不需要括號
  • for 的條件裡可以省略初始條件,結束條件,遞增表示式

將整數轉換為字串:

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), //10
    )
}

執行結果:

使用 for 迴圈讀取檔案

package main

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


func printFile(filename string) {
    file, err := os.Open(filename)
    if err != nil {
        panic(err)
    }

    scanner := bufio.NewScanner(file)
    //省略初始條件、遞增條件,相當於while
    for scanner.Scan() {
        fmt.Println(scanner.Text())
    }

}
func main() {
    printFile("test.txt")
    forver()
}

執行結果:

省略結束條件的情況(會死迴圈)

func forver() {
    for {
        fmt.Println("abc")
    }
}

執行結果:

相關文章