- 表达开关
- 类型开关
- 表达开关
- 类型开关
语法如下:
switch optstatement;
optexpression{case expression1: Statement..case expression2: Statement.....default: Statement..}
重要事项:
- 都陈述和压迫表达式开关中的是可选语句。
- 如果两者陈述和压迫存在, 则它们之间需要使用分号(; )。
- 如果该开关不包含任何表达式, 则编译器会假定该表达式为true。
- 可选语句, 即optstatement包含简单的语句, 例如变量声明, 递增或赋值语句或函数调用等。
- 如果可选语句中存在变量, 则该变量的范围限于该switch语句。
- 在switch语句中, case和default语句不包含任何break语句。但是, 如果程序需要, 则可以使用break和fallthrough语句。
- 默认语句在switch语句中是可选的。
- 如果一个案例可以包含多个值, 并且这些值之间用逗号(, )分隔。
- 如果一个案例不包含任何表达式, 则编译器假定te表达式为true。
// Go program to illustrate the
// concept of Expression switch
// statement
package mainimport "fmt"func main() {// Switch statement with both
// optional statement, i.e, day:=4
// and expression, i.e, day
switch day:=4;
day{
case 1:
fmt.Println( "Monday" )
case 2:
fmt.Println( "Tuesday" )
case 3:
fmt.Println( "Wednesday" )
case 4:
fmt.Println( "Thursday" )
case 5:
fmt.Println( "Friday" )
case 6:
fmt.Println( "Saturday" )
case 7:
fmt.Println( "Sunday" )
default :
fmt.Println( "Invalid" )
}}
输出如下:
Thursday
范例2:
// Go program to illustrate the
// concept of Expression switch
// statement
package mainimport "fmt"func main() {
var value int = 2// Switch statement without an
// optional statement and
// expression
switch {
case value =https://www.lsbin.com/= 1:
fmt.Println("Hello" )
case value =https://www.lsbin.com/= 2:
fmt.Println("Bonjour" )
case value =https://www.lsbin.com/= 3:
fmt.Println("Namstay" )
default :
fmt.Println( "Invalid" )
}}
输出如下:
Bonjour
范例3:
// Go program to illustrate the
// concept of Expression switch
// statement
package mainimport "fmt"func main() {
var value string = "five"// Switch statement without default statement
// Multiple values in case statement
switch value {
case "one" :
fmt.Println( "C#" )
case "two" , "three" :
fmt.Println( "Go" )
case "four" , "five" , "six" :
fmt.Println( "Java" )
}
}
输出如下:
Java
类型开关当你想比较类型时, 使用类型开关。在此开关中, 案例包含要与开关表达式中存在的类型进行比较的类型。
【Go中的switch语句用法指南】语法如下:
switch optstatement;
typeswitchexpression{case typelist 1: Statement..case typelist 2: Statement.....default: Statement..}
重要事项:
- 可选语句, 即optstatement与switch表达式中的语句类似。
- 如果一个案例可以包含多个值, 并且这些值之间用逗号(, )分隔。
- 在类型switch语句中, case和default语句不包含任何break语句。但是, 如果程序需要, 则可以使用break和fallthrough语句。
- 在类型切换语句中, 默认语句是可选的。
- 的类型开关表达式是其结果是类型的表达式。
- 如果在中分配了表达式类型开关表达式使用:=运算符, 则该变量的类型取决于case子句中的类型。如果case子句包含两种或更多种类型, 则变量的类型就是在其中创建变量的类型类型开关表达式.
// Go program to illustrate the
// concept of Type switch
// statement
package mainimport "fmt"func main() {
var value interface{}
switch q:= value.(type) {
case bool :
fmt.Println( "value is of boolean type" )
case float64:
fmt.Println( "value is of float64 type" )
case int :
fmt.Println( "value is of int type" )
default :
fmt.Printf( "value is of type: %T" , q)}
}
输出如下:
value is of type: <
nil>
推荐阅读
- HTTP三次握手四次分手,URI、URL和URN的通俗解析和区别 – 深入浅出HTTP原理
- 栈用法(后缀表达式的求值)
- HTML页面布局代码示例
- Python程序在列表中查找最大的数字
- 如何使用PHP在网络浏览器中打开PDF文件()
- bell数(对集合进行分区的方式数量)
- Python中的双端队列详解
- Golang指向指针的指针(双指针)介绍
- Perl中的软件包详细指南