go学习笔记(16)if

go语言中的if和其他语言中的if基本一样,go语言的if语句中的条件判断不需要用括号括起来。

猜数字游戏:

1
2
3
4
5
6
7
8
9
var num int
fmt.Scanf("%d", &num)
if num < 10 {
fmt.Println("小了!")
} else if num == 10 {
fmt.Println("猜中了!")
} else {
fmt.Println("大了!")
}

输出:

1
2
3
4
5
6
7
8
9
10
11
// 输入5
5
小了!

// 输入20
20
大了!

// 输入10
10
猜中了!

if语句中支持定义变量,在if语句中定义的变量只能在if和else代码块中使用,不能在代码块外部使用:

1
2
3
4
5
6
7
if num:=5;num<10{
fmt.Println("小了!")
}else if num==10{
fmt.Println("正好!")
}else{
fmt.Println("大了!")
}

输出:

1
小了!

从技术角度来说,在if语句中的比较表达式之前可以写任何简单语句。可以调用函数或给现有变量赋值,但最好不要这样做,容易写出难以排查的bug。

江达小记