我是靠谱客的博主 谨慎哈密瓜,最近开发中收集的这篇文章主要介绍golang中流程控制if-else,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部