Go,你也可以的!-【5.2 条件语句】

5.2 条件语句

在实际的项目开发中,我们是一定会用到判断的。

比如判断ab两个数字的大小,如果a大于b执行逻辑1;如果a小于b那么执行逻辑2

类似上面的这种操作在我们实际使用时是很常见的。与大多数语言一样,Go语言也是使用ifelseelse if来进行判断。

本节代码存放目录为 lesson14

if else 的使用

我们单纯使用if来实现业务逻辑。如下所示:

a := 1
b := 2

if a > b {
	fmt.Println("a > b")
}

在上面的代码中,我们使用if进行了判断,与大多数语言不同的是,a > b不需要使用括号括起来。

同时需要注意的是:if a > b {,这里的大括号不能换行,否则编译后可能会出现问题,因为Go语言在编译时会进行一些格式优化。

我们可以将ifelse配合使用。如下所示:

if a > b {
	fmt.Println("a > b")
} else {
	fmt.Println("a < b or a == b")
}

但是在函数里面我们一般会这样:

if a > b {
	fmt.Println("a > b")
	return
}
fmt.Println("a < b or a == b")

在上面的代码中,我们在a > b时就直接进行了返回,而不用进行else,这样可以让代码简洁一些。

同时我们还可以配合else if一起使用。代码如下:

if a > b {
	fmt.Println("a > b")
} else if a == b {
	fmt.Println("a == b")
} else {
	fmt.Println("a < b")
}

在上面的代码中,我们增加了else if的使用,在实际的开发过程中,一般我们会将优先满足的条件放在前面。

switch 使用

switch与其他语言基本是一样的,使用结构如下:

switch a {
	case 1:
		fmt.Println("a == 1")
	case 2:
		fmt.Println("a == 2")
	case 3:
		fmt.Println("a == 3")
	default:
		fmt.Println("a value null")
	}

在上面的代码中,我们使用switch进行了条件判断,其中包含了几个基本内容:switch变量值casedefault

其中switch变量值case是必须的,default是非必须的。

从上面的代码可以看出,在Go语言中switch是没有break的。

另外Go语言中switch还具有另外一个比较特殊的东西,叫做:fallthrough。如下代码所示:

switch a {
	case 1:
		fmt.Println("a == 1")
		fallthrough
	case 2:
		fmt.Println("a == 2")
	case 3:
		fmt.Println("a == 3")
	default:
		fmt.Println("a value null")
	}

在上面的代码中,我们在case 1下面增加了fallthrough。结果输出如下:

a == 1
a == 2

从输出我们可以看出,case 2也被执行了,这也正是fallthrough的特性。

也就是:当匹配到case之后,还会强制执行下一个case

在上面的代码中,匹配到了case 1,由于case 1中包含了fallthrough,所以继续执行了case 2,输出了a == 2

小结

条件语句是组成程序的重要组成部分,Go语言的条件语句与其他编程语言基本是一致的。

针对本节总结如下:

  • 可以使用ifelse ifelse进行组合判断

  • if条件后的大括号不能换行,必须跟在一起

  • 在使用条件语句时,我们一般遵循:先满足先处理,先满足先返回的原则

  • 可以使用switch进行值选择判断

  • switch与其他语言使用相同,不同的是不用break

  • 可以使用fallthrough强制跳转到下一个case

书籍地址:https://youcan.golang.website/

书籍代码:https://github.com/YouCanGolang

我的GitHub:https://github.com/swxctx

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Swxctx

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值