博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
19、交换器 switch
阅读量:7238 次
发布时间:2019-06-29

本文共 1254 字,大约阅读时间需要 4 分钟。

你可能对switch有这样的印象。

它有case和break语句,除非有失败的语句结束。

1 package main 2  3 import ( 4     "fmt" 5     "runtime" 6 ) 7  8 func main() { 9     fmt.Print("Go runs on ")10     switch os := runtime.GOOS; os {11     case "darwin":12         fmt.Println("OS X.")13     case "linux":14         fmt.Println("Linux.")15     default:16         // freebsd, openbsd,17         // plan9, windows...18         fmt.Printf("%s.", os)19     }20 }
Go runs on Linux. switch 从上到下评估一个case,直到找到一个匹配的case,才停止。
1 package main 2  3 import ( 4     "fmt" 5     "time" 6 ) 7  8 func main() { 9     fmt.Println("When's Saturday?")10     today := time.Now().Weekday()11     switch time.Saturday {12     case today+0:13         fmt.Println("Today.")14     case today+1:15         fmt.Println("Tomorrow.")16     case today+2:17         fmt.Println("In two days.")18     default:19         fmt.Println("Too far away.")20     }21 }
When's Saturday?Too far away. Switch没有条件语句等同于Switch true. 这样的结构可以更清晰的表达一个长的if then else 链式语句 。
package mainimport (    "fmt"    "time")func main() {    t := time.Now()    switch {    case t.Hour() < 12:        fmt.Println("Good morning!")    case t.Hour() < 17:        fmt.Println("Good afternoon.")    default:        fmt.Println("Good evening.")    }}
Good evening.

转载地址:http://fylfm.baihongyu.com/

你可能感兴趣的文章
atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
查看>>
/dev/null简介
查看>>
uber优步提高成单率,轻松拿奖励!
查看>>
Redis源代码分析(三十五)--- redis.c服务端的实现分析(2)
查看>>
PV(访问量)、UV(独立访客)、IP(独立IP) (转)
查看>>
docker数据拷贝
查看>>
shiro realm 注解失败问题解决过程
查看>>
iOS 静态库,动态库与 Framework 浅析
查看>>
Java对ArrayList进行排序
查看>>
NumberFormat
查看>>
Spring WebSocket初探1 (Spring WebSocket入门教程)<转>
查看>>
winform按钮和子按钮
查看>>
Hadoop HDFS编程 API入门系列之合并小文件到HDFS(三)
查看>>
【MyEcplise】build workspace卡死
查看>>
基于资源的权限系统-API设计
查看>>
如何区分USB 2.0 和USB 3.0插口
查看>>
排序及重复元素去重的说明,TreeSet,HashSet
查看>>
SQLServer 维护脚本分享(05)内存(Memory)
查看>>
Java代码调用Oracle的存储过程,存储函数和包
查看>>
InstallShield 2015 LimitedEdition VS2012 覆盖安装
查看>>