golang中流程控制if-else

if语句是所有流程控制语句中最常用的一个,这个语句可以根据条件表达式来执行代码块中的两个分支,表达式只能返回布尔类型,ture false。当ture时执行if后面的代码块,false,执行else后面的代码块

package main

import "fmt"

func main() {
	a := 1
	if a < 20 {
		fmt.Println("a小于20\n")
	} else {
		fmt.Printf("a的值是:%d\n", a)
	}

}

当上面的判断中,因为a值小于20,表达式返回true,所以可以返回a小于20的信息,但如果吧a值设置为100 ,那么程序将返回false,走默认输出

package main

import "fmt"

func main() {
	a := 100
	if a < 20 {
		fmt.Printf("a小于20\n")
	} else {
		fmt.Printf("a大于20\n")
	}
	fmt.Printf("a的值是:%d\n", a)
}

如果想判断a的值是否小于20且大于10,需要做if的嵌套了

package main

import "fmt"

func main() {
	a := 11
	if a < 20 {
		fmt.Printf("a小于20\n")
		if a > 10 {
			fmt.Printf("a大于10\n")
		} else {
			fmt.Printf("a小于10\n")
		}
	} else {
		fmt.Print("a大于20\n")

	}
	fmt.Printf("a的值是:%d\n", a)
}

上面的代码转却判断了a的值,但是嵌套一层if-else语句,这在编程规范中可以说是大忌,特别实在逻辑复杂的情况下,嵌套if语句将非常影响性能,因此使用else-if

package main

import "fmt"

func main() {
	a := 11
	if a > 20 {
		fmt.Printf("a大于20\n")
	} else if a < 10 {
		fmt.Printf("a小于10\n")
	} else {
		fmt.Printf("a大于10\n")
		fmt.Printf("a小于20\n")
	}
	fmt.Printf("a的值是:%d\n", 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大于20\n")
	} else if a < 10 {
		fmt.Printf("a小于10\n")
	} else if a == 11 {
		fmt.Printf("a等于11\n")
	} else {
		fmt.Printf("a大于10\n")
		fmt.Printf("a小于20\n")
		fmt.Printf("a不等于11\n")
		fmt.Printf("a的值是:%d\n", a)
	}
	//fmt.Printf("a的值是:%d\n", a)
}

package main

import "fmt"

func main() {
	a := 14
	if a > 20 {
		fmt.Printf("a大于20\n")
	} else if a < 10 {
		fmt.Printf("a小于10\n")
	} else if a == 11 {
		fmt.Printf("a等于11\n")
	} else {
		fmt.Printf("a大于10且a小于20且a不等于11,a的值是:%d\n", a)

	}
	//fmt.Printf("a的值是:%d\n", a)
}

我觉得我这个写法更容易理解, 多行输出有点傻 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值