学校网站建设信息,国家企信网官网登录入口,专门制作网页的工具,现在做一个什么的网站比较好我的Go语言初体验——#xff08;5#xff09;Go 基本语法之 Switch
“我的Go语言初体验” | 征文活动进行中… Go 语言中提供多路分支条件语句 switch#xff0c; 用于在不同条件下执行不同动作。 使用 if-else 嵌套结构也可以实现多路分支条件结构#xff0c;但程序冗长…我的Go语言初体验——5Go 基本语法之 Switch
“我的Go语言初体验” | 征文活动进行中… Go 语言中提供多路分支条件语句 switch 用于在不同条件下执行不同动作。 使用 if-else 嵌套结构也可以实现多路分支条件结构但程序冗长可读性差。 本文的例程按照 Go 进行了优化和测试Go 的编程风格更加简洁。 1. Switch 语法基本语法
switch 是多路分支条件语句 用于基于不同条件执行不同动作。
使用 if-else 嵌套结构也可以实现多路分支条件结构但程序冗长可读性差。Go 提供了更简练的 Switch 多路分支条件语句将一个表达式的求值结果与可能的值的列表进行匹配并根据匹配结果执行相应的代码。
switch 语句执行的过程从上至下直到找到匹配项匹配项后面也不需要再加 break。
Go 编程语言中 switch 语句的语法如下
switch var {case var1:statement(s);case var2:statement(s);// 可以定义任意个数的 casedefault: // Optionalstatement(s);
}变量 var 可以是任何类型var1, var2 可以是与 var 相同类型的常量、变量或表达式。
switch 语句中可以有表达式也可以省略。如果 switch 语句中没有表达式则默认为 “true”并对每个 case 表达式求值执行结果为 “true” 的 case。 2. 【例程1】switch 有表达式
// Example 1: a switch statement with expression
dayOfTheWeek : 0
switch dayOfTheWeek {
case 1:println Monday
case 2:println Tuesday
case 3:println Wednesday
case 4:println Thursday
case 5:println Friday
case 6:println Saturday
case 0:println Sunday
}/* Running results
Sunday
*/3. 【例程2】switch 无表达式
// Example 2: a switch statement without expression
var num int 80switch { //switch without expression
case num 50:printf %d 50\n, num
case num 100:printf %d 100\n, num
case num 200:printf %d 200, num
}/* Running results
80 100
*/程序说明
switch 语句中没有表达式则默认为 “true”。对每个 case 表达式求值执行结果为 “true” 的 case。case 后面可以是常量也可以是表达式对 case 表达式求值根据表达式的结果为 “true” 或 “false” 与 switch 进行匹配。 4. 【例程3】default case
在 Switch 语句中关键字 default 表示当没有其他 case 匹配时将执行 default 语句。
显然多个 case 和 default 只能执行一个。
// Example 3: a switch example with default case
// When no other case matches, the default statement is executed.
dayOfTheWeek : 2
switch dayOfTheWeek {
case 0:println Today is Sunday.
case 6:println Today is Saturday.
default:println Today is a weekday.
}/* Running results
Today is a weekday.
*/程序说明
dayOfTheWeek : 2与 switch 中的 case 0case 6 都不匹配执行 default 语句。 5. 【例程4】fallthrough
在 Go 语言中 case 是一个独立的代码块默认情况下 case 最后自带 break 语句匹配成功后就不会执行其他 case。
为了兼容一些移植代码如果需要执行后面的 case可以使用关键字 fallthrough 来实现这一功能。
fallthrough 必须是 case 语句块中的最后一条语句。如果它出现在语句块的中间编译器将会报错。
新编写的代码不建议使用 fallthrough。
// Example 4: a switch example with fallthrough
var num int 80println Switch with fallthrough:
switch {
case num 50:printf %d 50\n, numfallthrough
case num 100:printf %d 100\n, numfallthrough
case num 200:printf %d 200, num
}/* Running results
Switch with fallthrough:
80 100
80 200
*/程序说明
【例程4】与【例程2】的区别是 case 语句中的 “fallthrough”。【例程2】 case 语句中没有 “fallthrough”程序依次对 case 表达式求值直到找到匹配项只要找到匹配项就跳出 switch 语句而不再执行下一条 case。【例程4】 case 语句中带有 “fallthrough”找到匹配项后并不会跳出 switch 语句继续执行下一条 case。如果 switch 没有表达式则按 “true” 进行匹配。case 中的表达式不必是常量也可以在运行时被求值。 6. 【例程5】多条件匹配
在 Go 语言中一个 case 分支中可以包含多个值或多个表达式每个条件之间用逗号分隔。
多个值或表达式之间相当于 “与” 的关系只要匹配其中的一个条件就执行该 case 的语句。
// Example 5: a switch example of multiple expressions in case
var letter string uswitch letter {
case a, e, i, o, u:printf %s is a vowel., letter
default:printf %s isnt a vowel., letter
}/* Running results
u is a vowel.
*/【本节完】 版权声明
原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/121722748)
Copyright 2021 youcans, XUPT
Crated2021-12-04 欢迎关注『我的Go语言初体验』系列持续更新中… 我的Go语言初体验——1超详细安装教程 我的Go语言初体验——2 IDE 详细安装教程 我的Go语言初体验——3Go 数据类型 我的Go语言初体验——4零基础学习 Go 爬虫 我的Go语言初体验——5Go 基本语法之 Switch “我的Go语言初体验” | 征文活动进行中…