for的条件不需要括号
条件中初始条件,结束条件和递增表达式都可以省略。
1、简单示例
for i := 1; i <= 100; i++{
sum += i
}
2、省略初始条件
package main
import (
"strconv"
"fmt"
)
//十进制转二进制,输出是字符串
func convertToBin( n int ) string{
var r string = ""
if n == 0{
return "0"
}
//省略初始条件
for ; n != 0; n /= 2{
lsb := n % 2
r = strconv.Itoa(lsb) + r //strconv.Itoa()数字转成字符串
}
return r
}
func main() {
fmt.Println(
convertToBin(3),
convertToBin(19),
convertToBin(100),
convertToBin(0),
)
}
3、没有初始条件和递增条件,只有结束条件,相当于while
package main
import (
"fmt"
"os"
"bufio"
)
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 main() {
printFile("test.txt")
}
4、也可以初始条件、递增条件和结束条件都没有,死循环