主要讲解Go语言中 for 循环的 使用
主要知识点:
- 普通 for 循环用法
- 没有起始条件的 for 循环用法
- 没有起始条件,没有递增条件的用法
- 没有起始条件,没有递增条件,没有结束条件的用法
以下为代码示例:
package main
import (
"fmt"
"strconv"
"os"
"bufio"
)
//写法1 : 普通for循环
// 1加到100,等于5050
func customLoop(){
sum := 0
for i:=1;i<=100;i++ {
sum+=i;
}
fmt.Println(sum) //5050
}
//写法2 : 没有起始条件
//将一个正整数 转二进制数:输入一个数 对2 取模,得出最后一位,然后除以二,依次计算往前累积,直到 n =0
func convertToBin(n int ) string {
result := ""
//这是一种没有开始条件的写法
for ;n>0;n/=2{
lsb :=n%2
result=strconv.Itoa(lsb)+result;
}
return result;
}
//写法3 : 没有起始 和 递增条件
func printFile(fileName string) {
file,err:=os.Open(fileName)
if err!=nil{
panic(err)
}else{
scanner:=bufio.NewScanner(file)
// 没有起始 和 递增条件 ,只有结束条件时,可以不写分号,此时类似于 while 语法
//Go 中没有 while 关键字,按行读取文件
for scanner.Scan() {
fmt.Println(scanner.Text())//输入每行的文件内容
}
}
}
//写法4:没有起始 、没有 递增、没有结束
//无限循环
func forever(){
for{
fmt.Println("abc")
//break // 可添加break关键字 跳出循环
}
}
func main() {
customLoop()
fmt.Println(convertToBin(13)) //1101
printFile("abc.txt")
forever() //无限循环输出 abc
}