Go语言基础switch条件语句基本用法及示例详解
作者:枫少文 发布时间:2024-04-26 17:33:30
标签:Go语言,基础,switch,条件语句
概述
传入条件的不同,会执行不同的语句
每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止。
语法
第一种【switch 带上表达式】
switch 表达式 {
case 表达式1,表达式2, ... :
语句块1
case 表达式3, 表达式4, ... :
语名块2
default:
语句块
}
第二种【switch 不带表达式】
switch {
case 表达式1,表达式2, ... :
语句块1
case 表达式3, 表达式4, ... :
语名块2
default:
语句块
}
第三种【switch 初始化,表达式】
switch 初始化;表达式{
case 表达式1,表达式2, ... :
语句块1
case 表达式3, 表达式4, ... :
语名块2
default:
语句块
}
注意
各个case默认break
不break加 fallthrough
panic 报错
switch后可以没有表达式
switch支持初始化语句,注意要用分号结束
case后面的值是唯一的
示例一【根据今天的日期打印今天星期几】
func printWeekday() {
day := time.Now().Weekday() //需要导入time
fmt.Printf("%s", "今天")
switch int(day) {
case 1:
fmt.Println("星期一")
case 2:
fmt.Println("星期二")
case 3:
fmt.Println("星期三")
case 4:
fmt.Println("星期四")
case 5:
fmt.Println("星期五")
case 6, 7:
fmt.Println("星期天")
}
}
示例二【根据分数打印A,B,C,D】
func printScores() {
fmt.Println()
fmt.Println("根据分数打印A,B,C,D")
scores := 0
fmt.Println("请输入分数")
fmt.Scanf("%d", &scores)
fmt.Printf("分数等级:")
switch {
case scores > 90:
fmt.Println("A")
case scores > 80, scores > 70:
fmt.Println("B")
case scores > 60:
fmt.Println("c")
case scores >= 10:
fmt.Println("D")
default:
fmt.Println("你有分数吗")
}
}
示例三【算数】
func printEval() {
fmt.Println()
fmt.Println("三、算数")
var num1, num2 int
fmt.Println("请输入第一个数:")
fmt.Scan(&num1)
fmt.Println("请输入第二个数:")
fmt.Scan(&num2)
var op string
fmt.Println("请输入符号[+ - * /] ")
fmt.Scan(&op)
fmt.Printf("%d%s%d=%d", num1,op, num2, eval(num1, num2, op))
}
func eval(a, b int, op string) int {
var result int
switch op {
case "+":
result = a + b
case "-":
result = a - b
case "*":
result = a * b
case "/":
result = a / b
default:
panic("unsupported operator:" + op)
}
return result
}
来源:https://blog.csdn.net/guofeng93/article/details/90803975
0
投稿
猜你喜欢
- 对于JavaScript对象的操作基本上都会调用底层的对象内部方法,我们可以看出在ES6标准中定了14种内部方法.双 [[]] 代表内部方法
- 我们在用python进行程序开发的时候,很多时候我们需要检测一下当前的变量的数据类型。比如需要在使用字符串操作函数之前先检测一下当前变量是否
- 提到序列化与反序列化,通常会想到 json ,xml .在J2EE的开发中,这是很常用的技术,比如一个java class与xml之间的序列
- Python序列类型在本博客中,我们将学习探讨Python的各种“序列”类,内置的三大常用数据结构——列表类(list)、元组类(tuple
- 全局作用域下this;当在全局作用域中使用 this,它指向全局对象。这里详细介绍下全局对象:全局对象(Global object) 是在进
- 当感觉mysql性能出现问题时,通常会先看下当前mysql的执行状态,使用 show processlist 来查看,例如:其中state状
- 本人是一名python初学者,刚刚看到一道有趣的python问题,“用python如何在编译器中打印出菱形图案?”因此决定尝试一下,代码不多
- <script> function isIPv6(str) { return str.mat
- 如下所示:# requests模块来请求页面# lxml模块的html构建selector选择器(格式化响应response)# from
- 聚焦爬虫:爬取页面中指定的页面内容。编码流程:1.指定url2.发起请求3.获取响应数据4.数据解析5.持久化存储数据解析分类:1.bs42
- sql中经常用like进行模糊查询,而模糊查询就要用到百分号“%”,下划线“_”这些通配符,其中“%”匹配任意多个字符,“_”匹配单个字符。
- pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持
- pycharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。接下来小编来和大家分享下PyC
- --使用说明 本代码适用于MsSql2000,对于其它数据库也可用.但没必要 --创建存储过程 CREATE PROCEDURE pagin
- 1、类变量、实例变量概念类变量:类变量就是定义在类中,但是在函数体之外的变量。通常不使用self.变量名赋值的变量。类变量通常不作为类的实例
- hashlib 模块hashlib 模块的介绍hashlib 模块中拥有很多的加密算法,我们并不需要关心加密算法的实现方法。只需要调用我们需
- 例如:我们在百度中搜索 词典网,则网址后面的参数就是http://www.baidu.com/s?cl=3&wd=%B4%CA%B5
- 这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。1 如何去掉list中重复元素my_list = [
- 最近在用vue做项目,学习了不少东西,但是有时候光顾着做项目却忘记要找个时间来整理一下最近的一些学习新得,因为是新手,所以可能会有错误的地方
- @using@using 指令用于向生成的视图添加 C# using 指令:@using System.IO@{