day02 Go 条件语句if和switch

1、Go 语言提供了以下几种条件判断语句

语句 描述
if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
if...else 语句 if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
if 嵌套语句 你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。
switch 语句 switch 语句用于基于不同条件执行不同动作。
select 语句 select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

 

2、例子

package main

import (
	"fmt"
	"io/ioutil"
)

func bounded(v int) string {
	if v > 100 {
		return  "A"
	} else  if v > 80 {
		return "B"
	} else {
		return "C"
	}
}

func eval (a,b int, op string)  int  {
	var result int
	switch  op {
	case "+":
		result = a + b
	case "-":
		result = a - b
	case "*":
		result = a * b
	case "/":
		result = a / b
	default:
		panic("unsupport op:" + op)
	}
	return  result
}

func grade(v int) string {
	var g string
	switch {
	case v < 0 || v > 100 :
		panic(fmt.Sprintf("unsupport nums %s",v))
	case v <= 60:
		g = "D"
	case v <= 70:
		g = "C"
	case v <= 80:
		g = "B"
	case v <= 100:
		g = "A"
		}
	return g

}

func main ( )  {
	fmt.Println(
			bounded(99),
			bounded(22),
			bounded(77),
		)

	// 方法一
	const filename = "abc.txt"
	content,err := ioutil.ReadFile(filename)

	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("%s\n",content)
	}

	//方法二
	if content1,err1 := ioutil.ReadFile(filename) ; err1 != nil {
		fmt.Println(err1)
	} else {
		fmt.Printf("%s\n", content1)
	}

	fmt.Println(
		eval(3,4,"+"),
		eval(1,3,"*"),
		)
	
	fmt.Println(
		grade(50),
		grade(77),
		grade(100),
		)
}

猜你喜欢

转载自www.cnblogs.com/fanghongbo/p/9812806.html