前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2022年7月 Go教学课程 018-分支结构之switch

【愚公系列】2022年7月 Go教学课程 018-分支结构之switch

作者头像
愚公搬代码
发布2022-08-01 08:48:24
4400
发布2022-08-01 08:48:24
举报
文章被收录于专栏:历史专栏

文章目录


前言

Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以Go语言来说,switch(开关语句)常和case default一起使用。

一、switch语句

1.switch基本使用

Go 语言中 switch 中的每一个 case 都是独立代码块,无需通过 break 语句跳出代码块,以避免执行到下一个 case 代码块。

相关案例:

代码语言:javascript
复制
package main

import "fmt"

func main() {
	num := 1

	switch num {
	case 1:
		fmt.Println("小愚公")
	case 2:
		fmt.Println("大愚公")
	default:
		fmt.Println("不是愚公")
	}
}
在这里插入图片描述
在这里插入图片描述

上面代码中,case 对整型 num 进行判断,若条件符合,则打印相应的字符串。另外,还使用了 default 分支,default 分支表示若条件均不符合,则执行改代码块。

2.一分支多值

代码语言:javascript
复制
package main

import "fmt"

func main() {
	num := 1

	switch num {
	case 1, 2:
		fmt.Println("都是愚公")
	}
}
在这里插入图片描述
在这里插入图片描述

3.分支表达式

代码语言:javascript
复制
package main

import "fmt"

func main() {
	num := 1

	switch {
	case num > 0 && num < 2:
		fmt.Println("猜对了是愚公")
	}
}
在这里插入图片描述
在这里插入图片描述

4.fallthrough关键字

Go 语言中 swtich 语句中的 case 均为独立代码块,执行完成后,不会继续执行下一个 case,fallthrough就可以实现继续执行。

代码语言:javascript
复制
package main

import "fmt"

func main() {
	num := 1

	switch {
	case num > 0:
		fmt.Println("愚公一号")
		fallthrough
	case num < 2:
		fmt.Println("愚公二号")
	}
}
在这里插入图片描述
在这里插入图片描述

二、相关案例

1.成绩打分

代码语言:javascript
复制
package main

import "fmt"

func main() {
	//考试成绩大于等于90输出A,大于等于80输出B,大于等于70输出C,大于等于60输出D,不及格输出E
	var score float64
	fmt.Println("请输入考试成绩:")
	fmt.Scan(&score)
	switch {
	case score >= 90:
		fmt.Println("A")
	case score >= 80:
		fmt.Println("B")
	case score >= 70:
		fmt.Println("C")
	case score >= 60:
		fmt.Println("D")
	default:
		fmt.Println("E")
	}
}
在这里插入图片描述
在这里插入图片描述

总结

  • 某个case后面跟着的代码执行完毕后,不会再执行后面的case,而是跳出整个switch结构,相当于每个case后面都跟着break(终止),但是如果我们想执行完成某个case后,强制执行后面的case,可以使用fallthrough。
  • switch结构和if结构是可以结合来使用的,可以根据具体的问题具体分析,灵活来应用。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/07/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 前言
  • 一、switch语句
    • 1.switch基本使用
      • 2.一分支多值
        • 3.分支表达式
          • 4.fallthrough关键字
          • 二、相关案例
            • 1.成绩打分
            • 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档