概述
if语句是所有流程控制语句中最常用的一个,这个语句可以根据条件表达式来执行代码块中的两个分支,表达式只能返回布尔类型,ture false。当ture时执行if后面的代码块,false,执行else后面的代码块
package main
import "fmt"
func main() {
a := 1
if a < 20 {
fmt.Println("a小于20n")
} else {
fmt.Printf("a的值是:%dn", a)
}
}
当上面的判断中,因为a值小于20,表达式返回true,所以可以返回a小于20的信息,但如果吧a值设置为100 ,那么程序将返回false,走默认输出
package main
import "fmt"
func main() {
a := 100
if a < 20 {
fmt.Printf("a小于20n")
} else {
fmt.Printf("a大于20n")
}
fmt.Printf("a的值是:%dn", a)
}
如果想判断a的值是否小于20且大于10,需要做if的嵌套了
package main
import "fmt"
func main() {
a := 11
if a < 20 {
fmt.Printf("a小于20n")
if a > 10 {
fmt.Printf("a大于10n")
} else {
fmt.Printf("a小于10n")
}
} else {
fmt.Print("a大于20n")
}
fmt.Printf("a的值是:%dn", a)
}
上面的代码转却判断了a的值,但是嵌套一层if-else语句,这在编程规范中可以说是大忌,特别实在逻辑复杂的情况下,嵌套if语句将非常影响性能,因此使用else-if
package main
import "fmt"
func main() {
a := 11
if a > 20 {
fmt.Printf("a大于20n")
} else if a < 10 {
fmt.Printf("a小于10n")
} else {
fmt.Printf("a大于10n")
fmt.Printf("a小于20n")
}
fmt.Printf("a的值是:%dn", a)
}
else-if 语句是前面if-else语句之上再度扩展的,为了解决多重判断的问题。else-if语句可以连续使用多个elseif关键字,例如一个数字是否大于10小于20且不等于11
package main
import "fmt"
func main() {
a := 20
if a > 20 {
fmt.Printf("a大于20n")
} else if a < 10 {
fmt.Printf("a小于10n")
} else if a == 11 {
fmt.Printf("a等于11n")
} else {
fmt.Printf("a大于10n")
fmt.Printf("a小于20n")
fmt.Printf("a不等于11n")
fmt.Printf("a的值是:%dn", a)
}
//fmt.Printf("a的值是:%dn", a)
}
package main
import "fmt"
func main() {
a := 14
if a > 20 {
fmt.Printf("a大于20n")
} else if a < 10 {
fmt.Printf("a小于10n")
} else if a == 11 {
fmt.Printf("a等于11n")
} else {
fmt.Printf("a大于10且a小于20且a不等于11,a的值是:%dn", a)
}
//fmt.Printf("a的值是:%dn", a)
}
我觉得我这个写法更容易理解, 多行输出有点傻
最后
以上就是谨慎哈密瓜为你收集整理的golang中流程控制if-else的全部内容,希望文章能够帮你解决golang中流程控制if-else所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复