判断
条件判断有两种方式,if和switch
if判断
if 语句的语法结构:
if 条件判断 {
    ...
}else if 条件判断 {
    ...
}else {
    ...
}例子:If条件判断
package main
import (
	"fmt"
)
func main() {
	CheckScore(59)
	CheckScore(65)
	CheckScore(88)
}
func CheckScore(score int) {
	// 通过if语句判断不同score范围时的输出信息
	if score < 60 {
		fmt.Println("bad")
	} else if score >= 60 && score < 80 {
		fmt.Println("normal")
	} else {
		fmt.Println("good")
	}
}以上代码的执行结果:
bad
normal
goodswitch判断
switch可以用于进行逻辑判断,其中包含了各种case。switch会顺序判断case是否成立,当case条件成立时会执行case体中的内容。当所有的case都不成立时,会执行default体中的内容。可以通过关键字fallthrough连带执行下一个case体中的内容,不管case条件是否成立。在必要时可以通过关键字break跳出switch语句
无判断变量的switch语句会逐个遍历case体中的条件判断按顺序进行比较,如果条件成立时就会执行其中的逻辑,语法结构:
switch {
case 条件判断1:
    ...
case 条件判断2:
    ...
default:
    ...
}例子:无判断变量的switch语句
package main
import (
	"fmt"
)
func main() {
	CheckScore(59)
	CheckScore(65)
	CheckScore(88)
}
func CheckScore(score int) {
	// 通过switch语句判断不同score范围时的输出信息
	switch {
	case score < 60:
		fmt.Println("bad")
	case score >= 60 && score < 80:
		fmt.Println("normal")
	default:
		fmt.Println("good")
	}
}以上代码的执行结果:
bad
normal
good有判断变量的switch语句用于进行确切值的判断,会逐个与其中的case常量按顺序进行比较,如果值相同就会执行其中的逻辑,语法结构:
switch 变量 {
case 常量1:
    ...
case 常量2:
    ...
default:
    ...
}例子:有判断变量的switch条件判断
package main
import (
	"fmt"
)
func main() {
	switchColor("red")
	switchColor("yellow")
	switchColor("blue")
	switchColor("black")
}
func switchColor(color string) {
	// 通过switch语句判断不同color时的输出信息
	switch color {
	case "yellow":
		fmt.Println("banana is yellow.")
		// 使用fallthrough可以连带执行下一个case体中的逻辑
		fallthrough
	case "red":
		fmt.Println("apple is red.")
	case "blue":
		fmt.Println("sky is blue.")
		// 使用break跳出switch体
		if true {
			break
		}
		fmt.Println("you will never see me ")
	default:
		fmt.Println("i have no idea what color it is.")
	}
}以上代码的执行结果:
apple is red.
banana is yellow.
apple is red.
sky is blue.
i have no idea what color it is.最后更新于
