go基礎語法-循環語句
阿新 • • 發佈:2018-08-31
pre convert tin fio sum 語法 ews 十進制 err
循環語句
1.golang裏的循環只有for,沒有while,for語句的條件不需要括號(同if語句)
sum := 0
for i=0;i<100;i++ {
sum += i
}
2. for語句的條件可以省略初始條件,結束條件,遞增表達式
省略初始條件,相當於while
sum,i := 0,0
for ;i<100;i++ {
sum += i
}
省略初始條件和遞增表達式
file,err := os.Open("a.txt") if err != nil { panic(err) } scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) }
省略結束條件,死循環
sum := 0
for i=0;;i++ {
sum += i
}
全部省略,"快速"死循環,方便並發編程時gorutine互相死循環調用的代碼編寫
for {
fmt.Println("哈")
}
測試代碼
package main import ( "bufio" "fmt" "os" "strconv" ) /* 常規循環 */ func normal() { sum := 0 for i := 0; i < 100; i++ { sum += i } fmt.Println(sum) } /* 省略初始條件 函數:十進制轉二進制 */ func convertToBin(n int) string { res := "" for ; n > 0; n /= 2 { tmp := n % 2 res = strconv.Itoa(tmp) + res } return res } /* 省略初始條件和遞增表達式 函數:逐行輸出文件內容 */ func printFile(filePath string) { file, err := os.Open(filePath) if err != nil { panic(err) } scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) } } /* "快速"死循環 */ func happy() { for { fmt.Println("哈") } } func main() { normal() fmt.Println(convertToBin(3)) printFile("a.txt") //happy() }
go基礎語法-循環語句