switch语句

switch是一个条件语句,它是可以代替多个if else的常用方式

例子

package main
import "fmt" func main() {
a:=10 #定义一个变量a=10
switch a
{
case 1:
fmt.Println("")
case 2:
fmt.Println("")
case 10:
fmt.Println("") }
}

switch a 将 a 的值与每个case后面的值进行比较,符合条件的就执行相应的代码。注意:case不允许出现重复值

默认情况default

当其他情况都没匹配上时会执行default的代码。default不一定只能出现在switch语句的最后,他可以放在switch语句的任何地方

package main
import "fmt" func main() {
a:=11
switch a {
case 1:
fmt.Println("")
case 2:
fmt.Println("")
case 10:
fmt.Println("")
default:
fmt.Println("不知道")
}
}

多表达式判断

通过用逗号分隔,可以在一个case中包含多个表达式

package main
import "fmt" func main() {
a:=11
switch a {
case 1,4,5:
fmt.Println("")
case 2,8,9:
fmt.Println("")
case 10,11:
fmt.Println("")
default:
fmt.Println("不知道")
}
}
#结果
10

无表达式的switch

打印符合条件的相应代码

package main
import "fmt" func main() {
a:=11
switch { #无表达式a
case a>10:
fmt.Println("大于10")
case a<10:
fmt.Println("小于10")
default:
fmt.Println("")
}
}
#结果
大于10

Fallthrough语句

在Go中,每执行完一个case后,会从switch语句中跳出来,不再做后续case的判断和执行。使用Fallthrough语句可以在已经执行完成的case之后,把控制权转移到下一个case的执行代码中。

package main
import "fmt" func main() {
a:=10
switch a {
case 1:
fmt.Println("")
fmt.Println("xxxx")
case 2:
fmt.Println("")
case 10:
fmt.Println("")
//穿透,无条件执行下一个case的内容
fallthrough
case 11:
fmt.Println("")
fallthrough
case 12:
fmt.Println("")
}
}
#结果
10,11,12

06-switch语句的更多相关文章

  1. goto语句 switch语句

    goto语句 #include <iostream> using namespace std; int main() { int i = 1; number: i++; std::cout ...

  2. C++ 反汇编:关于Switch语句的优化措施

    流程控制语句是C语言中最基本的判断语句,通常我们可以使用IF来构建多分支结构,但同样可以使用Switch语句构建,Switch语句针对多分支的优化措施有4种形式,分别是,IF-ELSE优化,有序线性优 ...

  3. switch语句的妙用

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

  4. 106运用SWITCH语句打印星期几的单词

    package com.chongrui.test;/*运用SWITCH语句打印星期几的单词 * */ public class TypeConvertion { public static void ...

  5. 通过goto语句学习if...else、switch语句并简单优化

    goto语句在C语言中实现的就是无条件跳转,第二章一上来就介绍goto语句就是要通过goto语句来更加清楚直观的了解控制结构. 我理解的goto语句其实跟switch语句有相似之处,都是进行跳转.不同 ...

  6. Java中简单的操作(if语句、常用操作符、switch语句、变量赋值等)

    ---------------------if语句介绍--------------------------------------------------- class IfDemo { public ...

  7. Switch语句的case穿透

    Switch语句的case穿透 一 switch语句几点说明: 1. case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的. 2.case后面表达式可以接受: 基本数据类型,b ...

  8. ECMA中的switch语句

    switch借鉴自其他语言,但也有自己的特色. 1.可以在switch语句中使用任何数据类型(数值.字符串.对象等),很多其他语言中只能使用数值. 2.每个case的值不一定是常量,可以是变量或者表达 ...

  9. switch语句下的变量声明和定义

    switch语句下的变量声明和定义的问题: switch...case...语句中存在声明和定义会出现一些问题.这个由switch语法特性决定的, switch中每个case都是平等的层次,区别于一般 ...

  10. 透过IL看C#:switch语句(转)

    透过IL看C# switch语句(上) 摘要: switch语句是 C#中常用的跳转语句,可以根据一个参数的不同取值执行不同的代码.本文介绍了当向 switch语句中传入不同类型的参数时,编译器为其生 ...

随机推荐

  1. WinDbg常用命令系列---.effmach

    .effmach (Effective Machine) .effmach命令显示或更改调试器使用的处理器模式. .effmach [MachineType] 参数: MachineType指定调试器 ...

  2. 初识 Python 作业及默写

    1.简述变量量命名规范 2.name = input(“>>>”) name变量是什么数据类型? 3.if条件语句的基本结构? 4.用print打印出下面内容: 文能提笔安天下, 武 ...

  3. mysql 修改字段名称以及长度

    //修改字段长度 alter table table1 modify name ); //修改字段名称以及长度 alter table table1 change name name_new ); a ...

  4. [Beta]第五次 Scrum Meeting

    [Beta]第五次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/5/13 22:00 30min 大运村公寓6F楼道 附Github仓库:WEDO 例会照片 (一人上 ...

  5. 【2019.09.19】数独(Sudoku)游戏之我见(软工实践第三次作业)

    Github项目地址:https://github.com/MokouTyan/suduku_131700101 [2019.09.20]更新:代码经过Code Quality Analysis工具的 ...

  6. 【转】使用eclipse的todo标签管理任务

    Eclipse中的一些特殊的注释技术包括:    1.    // TODO —— 表示尚未完成的待办事项.    2.    // XXX —— 表示被注释的代码虽然实现了功能,但是实现方案有待商榷 ...

  7. hangfire控制台应用程序中添加控制面板

    1.使用nuget 管理包安装 Microsoft.AspNet.WebApi.OwinSelfHost 2.根目录添加新建类 名为:Startup.cs public class Startup { ...

  8. Unity初学者必备5款资源插件

    Unity技术经理Sam Dogantimur为Unity初学者精心挑选和推荐了5款入门必备资源插件,涵盖游戏开发原型创作.着色器特效以及角色控制等,帮助Unity新手快速上手游戏开发. 我们将详细介 ...

  9. PostgreSQL中的表连接操作

  10. 运维笔记--ubuntu服务器安装telnet服务

    ubuntu 16.04 安装Telnet: Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.可以通过Telnet实现远程登录服务器,同时也可以用“t ...