for语句:
func forTest() {
sum:=0
for i:=1;i<=100;i++{
sum+=i;
}
}
总结:for条件中不需要括号
进阶:
func convertTOBin(n int) string {
result := ""
for;n>0;n/=2{
lsb:=n%2
result=strconv.Itoa(lsb)+result
}
return result
}
可以省略for的开始条件,调用输出:
func main() {
fmt.Println(convertTOBin(5))
fmt.Println(convertTOBin(37))
fmt.Println(convertTOBin(128))
}
控制台:
101
100101
10000000
Process finished with exit code 0
函数功能就是把十进制转成二进制输出。
省略开始条件和终止条件:
func printfFile(fileName string) {
file,err := os.Open(fileName)
if err!=nil{
panic(err)
}else {
scanner := bufio.NewScanner(file)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
}
}
调用:
printfFile("abc.txt")
控制台输出:
123456789
Process finished with exit code 0
这种用法和while一样,go里面没有while,所以这种用法代替while。
省略所有条件:
func forever() {
for {
println("forever")
}
}
这种写法就是while(true),死循环。
输出:
forever
forever
forever
forever
forever
forever
forever
forever
forever
forever
forever
forever