5.golang 控制流程 if, else if ,switch ,defer使用

package main

import "fmt"


  //defer go语言功能,在函数返回前执行另一个函数。函数在遇到return语句或到达函数末尾时返回。
//defer语句通常用于执行清理操作或确保操作完成后再执行另一个函数
//在函数体中最下面的defer最先执行


//流程控制
/*
运算符
+ 和
- 差
* 积
/ 商
% 余 (也叫模)
*/

func main() {
k := 3
if k >= 10 {
fmt.Println(k)
} else if k < 5 {
c := k % 2
fmt.Println(k, c)
}
switchTest(11)
switchT2("a")


//defer go语言功能,在函数返回前执行另一个函数。函数在遇到return语句或到达函数末尾时返回。
//defer语句通常用于执行清理操作或确保操作完成后再执行另一个函数
//在函数体中最下面的defer最先执行
defer fmt.Println("我会在所有return之前打印出来1")
defer fmt.Println("我会在所有return之前打印出来2")
defer fmt.Println("我会在所有return之前打印出来3")
fmt.Println("你到底爱不爱我")

}




func switchTest(x int) {
switch {
case x > 10:
fmt.Println(x)
case x < 10:
fmt.Println(x)
default:
fmt.Println(x)
}

}

func switchT2(x string){
switch x {
case "a":
fmt.Println("我想我是" + x)
case "b":
fmt.Println(x)
default:
fmt.Println("我是无辜的")
}
}

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("unsupported operator:" + op)
}
return result
}


原文地址:https://www.cnblogs.com/iifeng/p/11485976.html