Go语言中 循环的使用

主要讲解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
}

猜你喜欢

转载自my.oschina.net/ruoli/blog/1815456