Go by Example: Switch

Switch声明通过众多分支来表达条件判断。

package main

import "fmt"
import "time"

func main() {

    // 基础的switch用法
    i := 2
    fmt.Print("write ", i, " as ")
    switch i {
    case 1:
        fmt.Println("one")
    case 2:
        fmt.Println("two")
    case 3:
        fmt.Println("three")
    }

    // 你可以使用逗号来在case中分开多个条件。还可以使用default语句。
    // 当上面的case都没有满足的时候执行default所指定的逻辑块。
    switch time.Now().Weekday() {
    case time.Saturday, time.Sunday:
        fmt.Println("it's the weekend")
    default:
        fmt.Println("it's a weekday")
    }

    // 当switch没有跟表达式的时候,功能和if/else相同,
    // 这里我们还可以看到case后面的表达式不一定是常量。
    t := time.Now()
    switch {
    case t.Hour() < 12:
        fmt.Println("it's before noon")
    default:
        fmt.Println("it's after noon")
    }
}

输出

$ go run switch.go
write 2 as two
it's the weekend
it's before noon

下一个例子:  Go by Example: Arrays。

英文原文

时间: 2025-01-22 04:11:56

Go by Example: Switch的相关文章

选择结构if语句和switch语句的区别

1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; } B:执行流程: 首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束. 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束. 如果是fals

java基础之switch

switch 语句由一个控制表达式和多个case标签组成. switch 控制表达式支持的类型有byte.short.char.int.enum(Java 5).String(Java 7). switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高. default在当前switch找不到匹配的case时执行.default并不是必须的. 一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break. sw

蓝鸥Unity开发基础——Switch语句学习笔记

一.Switch语法 属于多分支语句,通过判断表达式的值,来决定执行哪个分支 Break用于结束某个case,然后执行switch之外的语句 Switch-开关:case-情况开关决定发生的情况 二.Switch基本语法 Switch(表达式){ Case 值1: 语句1 Break: Case 值2: 语句2 Break: -- Case 值n: 语句n Break: Default: 语句 Break: } 三.注意事项 整个defaul语句都可以舍掉,default语句最多只能由一个 Sw

JAVA之Switch语句

switch case语句是用来判断case后面的表达式是否与switch的表达式一致,符合的话就执行case语句,不符合则break跳出.而default是当没有符合case的条件下执行的(它不用break跳出的),defaul相当于”第三种情况“,在switch case语句中也可以不使用. public class SwitchDemo { public static void main(String[] args) { // TODO Auto-generated method stub

switch case 与 if

case 在编程中偶尔使用到switch case语句,对于case语句的处理,出现了两种错误,现总结如下: 1 case后必须是常量,不能使用‘<’或‘>’这种逻辑运算 2 case后如果是‘||’或者‘&&’逻辑运算,则实际是1或者0 #include <iostream> using namespace std; int main(int argc, char * argv[]) { int i; cin>>i; switch(i) { case

数据字典+匿名委托模拟switch/case功能

基本思想每个case的选择值作为键,处理过程做成函数委托存放进数据字典.用的时候根据之调用.下面上代码 封装的FuncSwitcher类 using System; using System.Collections.Generic; namespace Test {     class FuncSwitcher<T>     {         int count;         Dictionary<T, Delegate> FuncGather;         Delega

Swift语言中的switch语句的妙用

Swift中的switch语句的类另用法: // 强大的switch语句 var a:Int = 100 switch a { case a where a < 0: println("Negative") case a where a == 0: println("Zero") case a where a > 0: println("Positive") default: println("Unknow") }

Adding an On/Off switch to your Raspberry Pi

http://www.raspberry-pi-geek.com/Archive/2013/01/Adding-an-On-Off-switch-to-your-Raspberry-Pi#article_f5 Which Switch? Aaron Shaw Pulling the plug on your Pi without an orderly shutdown can corrupt the SD card. Also, many users prefer a convenient sw

switch使用时有哪些注意事项

switch语句用于多分支选择,在使用switch(expr)的时候,expr只能是一个枚举常量(内部也是由整型或字符类型实现)或一个整数表达式,其中整数表达式可以是基本类型int或其对应的包装类Integer,当然也包括不同的长度整型,例如short.由于byte.short和char都能够被隐式地转换为int类型,因此这些类型以及它们对应的包装类型都可以作为switch的表达式.但是,long.float.double.String类型由于不能够隐式地转换为int类型,因此它们不能被用作sw

pip 警告!The default format will switch to columns in the future

pip警告! DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. pip升级到9.0.1后 查看pip.list 出现的警告