go语言的if条件判断语句,两种基本语法
if条件判断可谓是所有计算机编程语言都存在的一种判断语句,用于程序的流程控制。
if条件判断的基本用法
if condition { codes } else { codes }
if条件判断基本用法实例
package main
import "fmt"
func main() {
var answer int
fmt.Print("验证1+1= ")
fmt.Scanf("%d", &answer) //用于获取输入
fmt.Println(answer)
if answer == 2 {
fmt.Println("验证成功,账号已登录!")
} else {
fmt.Println("验证失败!")
}
}
代码输出:
验证1+1= 2
2
验证成功,账号已登录!
或:
验证1+1= 3
3
验证失败!
代码解析
如上代码,一个非常基本的go语言if条件判断程序,其中有一个不足的地方,就是当验证失败之后,我们无法再次进行输入,这就需要一个循环来完成了,这就是go语言流程控制的另一个方法——循环控制,这将在下一章节中进行介绍。
go语言if条件判断的声明变量法
go语言if条件判断语句当中,还可以声明一个变量,来作为条件,进行条件判断,该变量的作用域与c/c++的一样,只能在该条件逻辑代码块内。
package main
import "fmt"
func main() {
a := []int{1, 2, 3, 4, 5, 6}
for _, x := range a {
if y := x % 2; y == 0 {
fmt.Printf("%d为偶数\n", x)
} else {
fmt.Printf("%d为奇数\n", x)
}
// fmt.Println(y) 超出y的变量作用域
}
}
代码输出:
1为奇数
2为偶数
3为奇数
4为偶数
5为奇数
6为偶数
代码解析
如上代码,for语句用来循环(具体的我们将在下一章节进行介绍),y为if条件判断语句中的变量,其作用域仅在if条件判断代码块之中,超过其作用域,将会发生错误。
多条件判断
多条件判断的语法为:
if...else if...else
多条件判断实例
package main
import (
"fmt"
)
func main() {
var a int
fmt.Print("请输入一个整数:")
fmt.Scanf("%v", &a)
if a > 5 {
fmt.Println("你输入的是大于5的正整数!")
} else if a > 0 {
fmt.Println("你输入的是正整数!")
} else {
fmt.Println("你输入的数值是负整数")
}
}