switch结构
switch结构介绍
switch也属于条件判断的语句
支持多种写法,和if .. else if ...else 结构的功能类似,但是里面的细节需要注意的地方更多
switch基本语法
switch [定义变量;] [变量]{
case [条件/具体值]:
//代码
case [条件/具体值]:
//代码
default:
//代码
}
switch每个case分支默认只执行一个且是从上向下执行
default上下位置没有影响,当且仅当所有case都不成立时才执行default
switch用法(一)
当变量只有固定的几个值时可以使用switch结构
func main() {
num :=
switch num {
case :
fmt.Println("2进制")
case :
fmt.Println("8进制")
case :
fmt.Println("10进制")
case :
fmt.Println("16进制")
default:
fmt.Println("内容不正确")
}
fmt.Println("程序结束")
}
- switch也支持在条件位置定义变量,变量有效范围为当前switch
func main() {
switch num := ; num {
case :
fmt.Println("2进制")
case :
fmt.Println("8进制")
case :
fmt.Println("10进制")
case :
fmt.Println("16进制")
default:
fmt.Println("内容不正确")
}
fmt.Println("程序结束")
}
switch用法(二)
当条件是范围而不是固定值时
func main() {
score :=
switch {
case score >= :
fmt.Println("优秀")
case score >= :
fmt.Println("良好")
case score >= :
fmt.Println("中等")
case score >= :
fmt.Println("及格")
default:
fmt.Println("不及格")
}
fmt.Println("程序结束")
}
switch用法(三)
case条件支持多个值,每个值使用逗号分开
func main() {
month :=
switch month {
case , , , , , , :
fmt.Println("31天")
case :
fmt.Println("28或29天")
default:
fmt.Println("30天")
}
fmt.Println("程序结束")
}
穿透和中断
switch结构中某个最多只能执行一个case,使用fallthrough可以让下一个case/default继续执行
func main() {
switch num := ; num {
case :
fmt.Println("")
fallthrough
case :
fmt.Println("")
case :
fmt.Println("")
fallthrough
case :
fmt.Println("")
default:
fmt.Println("不是1,2,3,4")
}
fmt.Println("程序结束")
}
- break可以用在switch和循环中,表示立即结束,无论当前结构后面还有多少代码
func main() {
switch num := ; num {
case :
fmt.Println("")
break
fmt.Println("break后面代码都不执行")
fallthrough
case :
fmt.Println("")
case :
fmt.Println("")
fallthrough
case :
fmt.Println("")
default:
fmt.Println("不是1,2,3,4")
}
fmt.Println("程序结束")
}
switch结构的更多相关文章
- c语言学习之基础知识点介绍(六):if和switch结构
本节主要说c语言中的分支结构. c语言中分支结构有两大类:一种是if,一种是switch. 一.if结构 //if结构,语法: //第一种: if(表达式){ //语句块 } //第二种: if(表达 ...
- switch结构可以更好的解决等值判断问题
switch 选择结构的语法:switch (表达式){case 常量 1://代码块1:break;case 常量 2://代码块2:break;......default://代码块n:break ...
- 经验之谈-switch结构常见错误的分析与处理
1.缺少break语句 本来只想输出“出任武林盟主”可输出结果为 错误分析:在 switch结构中,每一个case语句块后面如果不写 break语句, switch就会 直接往下面的case语句块运行 ...
- 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结
038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...
- 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构
037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...
- Java初学者作业——使用switch结构实现一个简单的购物计划
返回本章节 返回作业目录 需求说明: 使用switch结构实现一个购物计划,计划为:星期一.星期三.星期五购买伊利牛奶和面包,星期二.星期四购买苹果和香蕉,星期六.星期日购买啤酒和周黑鸭. 实现思路: ...
- java中switch结构和 while for循环的用法
6.2 switch结构: 变量可以是:variable can be:(mark: tried, can not be long) char/int/short/byte(java1.7 就可 ...
- switch结构2016/03/08
Switch 03/08 一.结构 switch(){ case *: ;break;……default: ;brek;} 练习:输入一个日期,判断这一年第几天? Console.Write(&q ...
- 关于Switch结构利用
三大流程结构,循环.分支.if ,循环与条件选择结构用的比较多,而swicth用的比较少,swicth可以用if代替,只不过麻烦,最终都能实现输入和输出的条件对应 Swicth利用 ...
随机推荐
- windows下exfat无法写入怎么修复?
为了能够实现mac与windows文件共享,把移动硬盘格式化为exfat了,可是在osx中放入文件后,在windows上紧进行读取写入时出现错误,提示使用chkdsk进行修正,下面是修正步骤. 方法/ ...
- container_of宏
title: container_of宏 date: 2019/7/24 15:49:26 toc: true --- container_of宏 解析 在linux链表结构中有这样一个宏,通过成员变 ...
- APUE ☞ 文件和目录
粘着位(Sticky Bit) S_ISVTX位被称为粘着位.如果一个可执行程序文件的这一位被设置了,程序第一次运行完之后,程序的正文部分的一个副本仍被保存在交换区(程序的正文部分是机器指令).这使得 ...
- UWP 保存音乐或视频缩略图图片到本地
开发项目时,有时需要将本地媒体文件的缩略图保存到本地,下面是源码. 需要打开Package.appxmanifest 功能 图片库 访问权限. <Page x:Class="SaveB ...
- centos6.5安装python3及virtualenv环境
1. 下载源码: wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz wget http://mirrors.sohu.com/ ...
- B7. Concurrent 锁的分类
[概述] 锁的分类根据不同的维度可以分为以下几种: 悲观锁和乐观锁 共享锁(S锁,读锁)和排他锁(X锁,写锁) 公平锁和非公平锁 重入锁 分段锁 [悲观锁和乐观锁] 悲观锁和乐观锁是两种处理并发冲突的 ...
- 什么是DataV数据可视化
DataV数据可视化是使用可视化大屏的方式来分析并展示庞杂数据的产品.DataV旨让更多的人看到数据可视化的魅力,帮助非专业的工程师通过图形化的界面轻松搭建专业水准的可视化应用,满足您会议展览.业务监 ...
- IT 界的“名言”
--喜欢记得关注我哟[shoshana]-- 中国有很多古代警世名言,朗朗上口,凝聚了很多故事与哲理.硅谷的互联网公司里头也有一些这样的名言,凝聚了很多公司价值观和做事的方法,对于很多程序员来说,其影 ...
- logstash grok
input { file { path => "/opt/service/test-service/logs/catalina-error*.log" type => ...
- 6.Linux查看哪个进程占用磁盘IO
$ iotop -oP命令的含义:只显示有I/O行为的进程