go基礎語法-循環語句


1.基礎定義

for語句的條件不需要括號(同if語句) ,golang里的循環只有for,沒有while

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()
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM