go语言之if语句和switch语句和循环语句

1、if语句

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	//流程控制

	//使用常量定义一个文件名
	const filename  = "golang_1.go"

	//打开一个文件,返回两个值,一个是文件的内容,一个是错误
	con,err := ioutil.ReadFile(filename)
	//这里的nil和python中的None是一样的
	if err != nil{
		fmt.Println(err)
	}else {
		fmt.Printf("%s
",con)
	}



}

  

2、switch语句

package main

import "fmt"

//switch结构

//go语言的switch默认匹配到一项后,就不在往下匹配了
//如果加一个fallthrough关键字,还会往下匹配
func test(score int) string {
	var g = ""
	switch  {
	case score < 0 || score >100:
		g = "输入错误"
		fallthrough
	case score < 80:
		g = "B"
	case score < 90:
		g = "A"
	case score == 100:
		g = "A++"
	}
	return g

}

func main() {
	//fmt.Println(test(101))
	//fmt.Println(test(10))
	//fmt.Println(test(70))
	//fmt.Println(test(80))
	fmt.Println(test(100))
}

  

3、for循环

package main

import (
	"fmt"
	"time"
)

func for1() {
	//无限死循环
	//for循环,无限次死循环
	for {
		fmt.Println("法国必胜")
		time.Sleep(2 * time.Second)
	}
}



func for2() {
	//for循环,有限次循环
	for i := 1;i < 11;i++ {
		fmt.Println(i,"法国必胜")
		time.Sleep(2 * time.Second)
	}

}

func for3()  {
	//for和if语句结合使用

	for i := 1;i < 100;i++ {
		if i % 2 == 0{
			fmt.Println("为偶数",i)
		}else if i % 2 == 1 {
			fmt.Println("为即数",i)
		}else {
			fmt.Println("为错误",i)
		}
		time.Sleep(100 * time.Millisecond)
	}
}



func main() {
	for2()
	for3()
}

  

4、rang循环

package main

import "fmt"

func main() {

	//rang循环
	var s string
	s = "abcefghigjklmn"

	for i := range s {
		//%d是数字,%c是字符
		fmt.Printf("下标=%d,值=%c
",i,s[i])
	}


	//i是下标,c是值
	for i,c := range s {
		fmt.Printf("下标=%d,值=%c
",i,c)
	}

}

  

5、循环和控制语句结合

package main

import "fmt"

func main() {
	//循环的控制语句

	for i := 0;i < 11;i++ {
		if i == 2{
			//跳出循环
			//break

			//结束本次循环,直接进入下次循环
			continue
		}
		fmt.Println(i)
	}
}

  

原文地址:https://www.cnblogs.com/bainianminguo/p/10847315.html