switch 条件语句一

  • 格式
switch initialization{
case v1:
// do something
case v2:
// do something
case v2:
// do something
default:
// do something
}
  • 实例
package main

import "fmt"

var num = 12
func main(){
switch num {
case 1:
fmt.Println("num is 1")
case 2:
fmt.Println("num is 2")
case 3:
fmt.Println("num is 3")
default:
fmt.Println("num is default")
}
}

输出 num is default

switch 条件语句二

  • 格式
    switch {
case condition1:
// do somthing
case condition2:
// do something
case condition3:
// do something
default:
// do something
}
  • 实例
package main

import "fmt"

var (
num1 int = 3
num2 = 5
)
func main(){
switch {
case num1 > num2:
fmt.Println("num1 大于 num2")
case num1 < num2:
fmt.Println("num1 小于 num2")
default:
fmt.Println("num1 == num2")
} switch s := sum(num1,num2); {
case s < 10:
fmt.Println("num1 + num2 的和小于 10")
case s > 10:
fmt.Println("num1 + num2 的和 大于 10")
default:
fmt.Println("num1 + num2 的和 等于 10")
}
} // 求和 返回 s
func sum(num1 int,num2 int)(s int){
s = num1 + num1
return
}
num1 小于 num2
num1 + num2 的和小于 10

fallthrough

  • fallthrouth 的由来
    在其他类型的语言,如php,switch 语句每一个case 结尾都应该加上一句break; 已表面该结束switch,防止继续往下一个case 执行。但是在go 语言中
是不需要加 break 的,因为每一个case 结束go编辑器都默认添加了break; php 语言
switch ($num){
case 1:
// do something
break;
case 2:
// do something
break;
default:
// do something
} go 语言
switch num {
case 1:
// do something
case 2:
// do something
default:
// do soment
} // 因为go 编辑器自动添加了break;导致了程序不会跳到下一个case执行,所以go 给我们提供了一个关键字 fallthrough,可以在执行case 之后继续下一个case执行
  • 实例
package main

import "fmt"

func main(){
Season(1) // 第一季
Season(3) // 第一季
Season(5) // 第二季
Season(6) // 第二季
Season(9) // 第三季
Season(11) // 第四季
Season(12) // 第四季
} // 输入月份写季节
func Season(month int) {
switch month {
case 1:
fallthrough
case 2:
fallthrough
case 3:
fmt.Println("第一季")
case 4,5,6: // go 中允许多val语句的写法,实际上和加了fallthrough 效果一样
fmt.Println("第二季")
case 7,8,9:
fmt.Println("第三季")
case 10:
fallthrough
case 11:
fallthrough
case 12:
fmt.Println("第四季")
}
}

go之switch的更多相关文章

  1. Partition:分区切换(Switch)

    在SQL Server中,对超级大表做数据归档,使用select和delete命令是十分耗费CPU时间和Disk空间的,SQL Server必须记录相应数量的事务日志,而使用switch操作归档分区表 ...

  2. java中if和switch哪个效率快

    首先要看一个问题,if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断:而 switch 只能对基本类型进行数值比较.两者的可比性就仅限在两个基本类型比较的范围内.说到基本类型 ...

  3. [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具

    在实际的开发中,我们一般使用SVN工具进行源代码的管理.在实际的产品开发中,根据项目的一些定制要求,往往需要对某一些代码的修改,但是又不想影响主要的开发,这个时候需要对当前的主分支做一些分支处理(br ...

  4. C#中,switch case语句中多个值匹配一个代码块的写法

    switch (num) { case 1: Response.Write("1"); break; case 2: case 3: Response.Write("2| ...

  5. Android Studio快捷键switch case 轻松转换为if else

    Android Studio快捷键switch case 轻松转换为if else 今天碰到的问题,没有找到资料,后面找到了方法,这个记下来,转载请注明出处:http://www.cnblogs.co ...

  6. 代码的坏味道(6)——Switch声明(Switch Statements)

    坏味道--Switch声明(Switch Statements) 特征 你有一个复杂的 switch 语句或 if 序列语句. 问题原因 面向对象程序的一个最明显特征就是:少用 switch  和 c ...

  7. java中的switch case

    switch-case语句格式如下 switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; ... case default: //... ...

  8. switch语句的妙用

    switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console. ...

  9. JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)

    switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...

  10. JavaScript (If...Else和Switch和循环遍历) 语句以及常用消息框

    If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...el ...

随机推荐

  1. codeforces_731C_[dfs][并查集]

    C. Socks time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  2. android Adapter总结

    1.连接视图与数据.数据封装: 2.视图构造与配置: 3.数据更新监听: 4.视图重用机制. * An Adapter object acts as a bridge between an {@lin ...

  3. Cesium学习笔记(四)Camera

    http://blog.csdn.net/HobHunter/article/details/74909641 Cesium 相机控制场景中的视野.操作相机的方法有很多,如旋转,缩放,平移和飞到目的地 ...

  4. todey

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> 框架集fromset ...

  5. Django - ORM创建基本类

    DBFirst CodeFirst 创建类 1.根据类自动创建数据库表 在app下的models.py中创建表 创建数据库之前,需要在django下的setting.py模块中的INSTALLED_A ...

  6. SSH技术介绍和Xshell公钥远程登陆

    SSH简介 传统的网络服务程序,比如FTP,POP,Telnet,本质上都是不安全的,因为它们在网络上用明文传送数据.用户账号和用户口令,很容易受到中间人攻击方式的攻击,攻击者会冒充真正的服务器接收用 ...

  7. Flask - 路由系统

    目录 Flask - 路由系统 @app.route()装饰器中的常用参数 methods : 当前 url 地址,允许访问的请求方式 endpoint:反向url地址,默认为视图函数名(url_fo ...

  8. 第十节:pandas之loc()、iloc()与ix()索引

  9. yum http源

    统一集群内,有一个yum本地源即可,集群内其他机器的yum可配成http源 方法: yum1:本地yum源节点 yum2:集群内其他节点 yum1: ①service httpd start ②mki ...

  10. 【codeforces 767A】Snacktower

    [题目链接]:http://codeforces.com/contest/767/problem/A [题意] 每天掉一个盘子下来;盘子有大小从1..n依次增大n个盘子; 然后让你叠盘子; 最底层为n ...