「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」
写在前面👀
今天主要讲Go的控制语句😁
一、递增递减语句🎈
- 在Go语言中自增
++和自减--是单独语句,并不属于运算符。 - 在Go语言中它只能放在变量后面,放前面会报错。
a++ //和a=a+1等价
a-- //和a=a-1等价
二、if条件语句🎃
- 在Go语言中表达式值为
true才能做大括号里的事情,不像C语言中只要为非零值就行。表达式值为false则执行下一条语句。 - 代码块左括号必须在条件表达式尾部,
else和else if语句也要紧跟在右括号右边。 - 表达式可以省略小括号
- 条件语句支持 if 的局部初始化
- Go语言中没有简写三元运算符
if 布尔表达式1 {
分支1
} else if 布尔表达式2 {
分支2
} else {
分支3
}
package main
import "fmt"
import "math/rand"
func main() {
//局部初始化,产生一个随机数并赋值给a
if a := rand.Int(); a > 1 {
fmt.Println("a大于1")
} else if a == 1 {
fmt.Println("a等于1")
} else {
fmt.Println("a小于1")
}
}
三、swich选择语句🎄
- switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止,如果匹配到了会自动退出,不像C语言会继续执行接下的case语句。条件比较多时,可以用swich代替else if
- 在Go语言中,case语句末尾可省略
break,编译器会默认自动停止 - case 的比较值可以用逗号
,分隔 - 如果在执行完每个分支的代码后,还希望继续执行后续分支的代码,可以使用
fallthrough关键字来达到目的。 -
default(也可以不用这个语句)分支可以出现在任何顺序,但最好将它放在最后。它的作用类似与if-else语句中的else,表示不符合任何已给出条件时,执行相关语句。 - switch后的
var1可局部初始话
//变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值
switch var1 {
case val1,val2,val3:
...
case val4:
...
default:
...
}
package main
import "fmt"
import "math/rand"
func main() {
switch i := rand.Int(); {
case i < 100:
fmt.Println("Perfect!")
case i > 80:
fmt.Println("Good!")
case i > 60:
fmt.Println("OK!")
default:
fmt.Println("Bad!")
}
}
写在后面
感谢观看✨
如有不足,欢迎指出🎏