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
}