switch 基本使用|学习笔记

简介: 快速学习 switch 基本使用

开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:switch 基本使用】与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/625/detail/9569


switch 基本使用

内容介绍:

一、基本介绍

二、基本语法

三、Switch 的流程图

四.Switch 快速入门案例

这里继续学习 Golang 中的 Switch 分支结构,Switch 分支结构在很多编程语言中都有,但是 Golang 中的 Switch 分支控制与其他编程语言中的 Switch 有很大差别,下面将展示 Golang 中的 Switch 特点有那些。

一、基本介绍

1、switch 语句用于基于不同条件执行不同动作,就是匹配上表达式后再去执行,每一个 case 分支都是唯一的,从上到下逐一测试,直到匹配为止,如果匹配不到就执行默认的分支。

2、匹配项后面也不需要再加 break,传统编程语言的 switch分支都需要带有break,而 Golang 认为几乎所有的 case 都会带有 break,所以不用再加 break。(不要画蛇添足)

二、基本语法

switch表达式{  //这里表达式意味着返回一个值就可以,在Golang中任何有值的都可以称作表达式。

case 表达式1,表达式2,... :

//case表示switch后表达式等于表达式1或者表达式2的值时,就执行语句块1,这里就可以发现在传统语言中case只能匹配一个表达式,而Golang中是可以匹配多个表达式,执行完后没有break语句仍然进行退出。

语句块1 

case 表达式3,表达式4,... :

语句块2

//这里可以有多个 case 语句。

//一个都没有匹配到就执行 default 语句。

default:

语句块

}

通过表达式讲解仍然不够形象,所以下面再通过 switch 的流程图进行讲解。


三、switch的流程图

c27341690d5a40caa6e2c240b334cc1a.png1、说明 

(1)switch 的执行流程是,先执行表达式,得到值,然后和 case 的表达式进行比较,如果相等,就匹配到为 true,然后执行对应的 case 语句块1,执行完后直接结束switch语句,然后继续执行其他的代码,这里注意如果 switch 语句下面还有其他代码是要继续执行的,而不是退出程序。

(2)如果为FALSE, switch 的表达式就与表达式3进行匹配,匹配成功则执行语句块2,匹配不成功就继续与后面表达式进行匹配,一直匹配到结束仍没有表达式匹配成功则执行 default 的语句块。执行后退出 switch 的控制。

2、总结

(1)golang 的 case后的表达式可以有多个,使用逗号间隔。

(2)golang 中的 case 语句块不需要写 break ,因为默认会有,即在默认情况下,当程序执行完 case 语句块后,就直接退出该 switch 控制即可。(不是退出程序,而是退出 switch 控制)


四、Switch 快速入门案例

案例:

请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g,a表示星期一,b表示星期二...根据用户的输入显示相依的信息,要求使用 switch 语句完成。代码如下:

package main

import(

fmt

)

func main(){

//分析思路

//1.定义一个变量接收字符

//2.使用 switch 完成

var key byte

//定义变量key,使用byte接收字符

fmt.Println(请输入一个字符 a,b,c,d,e,f,g )  //提示信息

fmt.Scanf(%c,&key)  //通过指定格式进行接收%c字符

switch key{

case a:

fmt.Println(周一,猴子穿新衣) //case进行比较,如果输入等于a,则输出Println内容,后面比较以此类推。

case b:

fmt.Println(周二,猴子当小二)

case c:

fmt.Println(周三,爬雪山)

case d:

fmt.Println(周四)

case e:

fmt.Println(周五)

case f:

fmt.Println(周六)

case g:

fmt.Println(周天)

default:

fmt.Println(输入有误)

//如果一个都没匹配到就输出输入有误

}

}

运行结果:D:\goproject\src\go_code\chapter05\switchdemo\demo01>go run main.go

请输入一个字符a,b,c,d,e,f,g

a

周一,猴子穿新衣D:\goproject\src\go_code\chapter05\switchdemo\demo01>go run main.go

请输入一个字符a,b,c,d,e,f,g

b

猴子当小二D:\goproject\src\go_code\chapter05\switchdemo\demo01>go run main.go

请输入一个字符a,b,c,d,e,f,g

p

输入有误...

以上就是 swich 按照常规使用的一个案例,但 switch 只有仅此内容的话是不够,所以后面将进行 switch 的细节讨论。

相关文章
|
5月前
switch的使用细节
switch的使用细节
49 0
|
7月前
|
前端开发 安全 开发者
【面试题】如何替换项目中的if-else和switch
【面试题】如何替换项目中的if-else和switch
|
前端开发
ES6 从入门到精通 # 20:async 的用法
ES6 从入门到精通 # 20:async 的用法
109 0
ES6 从入门到精通 # 20:async 的用法
break和contiune的使用方法
break和contiune的使用方法
93 0
|
JSON Go 数据格式
三分钟学 Go 语言——条件语句+switch和type switch
三分钟学 Go 语言——条件语句+switch和type switch
三分钟学 Go 语言——条件语句+switch和type switch
|
Go 开发者
switch 基本使用|学习笔记
快速学习 switch 基本使用
627 0
switch 基本使用|学习笔记
|
Go 开发者
break 语法和流程图 | 学习笔记
快速学习 break 语法和流程图
break 语法和流程图 | 学习笔记
|
Java
Java基础--switch case语句入门小练习
Java基础--switch case语句入门小练习
113 0
|
Shell 开发工具 开发者
case-for-while 语句使用方法 | 学习笔记
快速学习 case-for-while 语句使用方法。
case-for-while 语句使用方法 | 学习笔记

热门文章

最新文章