go switch
go switch无需写break
写法1:
func main() {
var a int
fmt.Scanf("%d\n", &a)
switch a {
case 1:
fmt.Println("is 1")
case 10:
fmt.Println("is 10")
default:
fmt.Println("is def")
}
}

写法2: fallthrough 穿透到下一步
func main() {
var a int
fmt.Scanf("%d\n", &a)
switch a {
case 1:
fmt.Println("is 1")
fallthrough
case 10:
fmt.Println("is 10")
default:
fmt.Println("is def")
}
}

写法3:多条件
func main() {
var a int
fmt.Scanf("%d\n", &a)
switch a {
case 1, 2, 3, 4, 5:
fmt.Println("is 1 or 2 or 3 or 4 or 5")
case 10:
fmt.Println("is 10")
default:
fmt.Println("is def")
}
}

写法4:条件判断
func main() {
var a int
fmt.Scanf("%d\n", &a)
switch {
case a >= 1 && a <= 10:
fmt.Println("dayu 1")
case a > 10:
fmt.Println("dayu 10")
default:
fmt.Println("is def")
}
}

写法5: 变量初始化
func main() {
switch a := 10; {
case a >= 1 && a <= 10:
fmt.Println("dayu 1")
case a > 10:
fmt.Println("dayu 10")
default:
fmt.Println("is def")
}
}

练习:猜数字,写一个程序,随机生成一个0到100的整数n,然后用户在终端,输入数字,如果和n相等,则提示用户猜对了。如果不相等,则提示用户,大于或小于n。
package main import (
"fmt"
"math/rand"
) func main() {
var n int
n = rand.Intn(100)
for { var a int
var status = false
fmt.Scanf("%d\n", &a) switch {
case a > n:
fmt.Println("dayu", a, n)
case a < n:
fmt.Println("xiaoyu", a, n)
case a == n:
fmt.Println("dengyu", a, n)
status = true
} if status {
break
}
}
}

go switch的更多相关文章
- Partition:分区切换(Switch)
在SQL Server中,对超级大表做数据归档,使用select和delete命令是十分耗费CPU时间和Disk空间的,SQL Server必须记录相应数量的事务日志,而使用switch操作归档分区表 ...
- java中if和switch哪个效率快
首先要看一个问题,if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断:而 switch 只能对基本类型进行数值比较.两者的可比性就仅限在两个基本类型比较的范围内.说到基本类型 ...
- [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具
在实际的开发中,我们一般使用SVN工具进行源代码的管理.在实际的产品开发中,根据项目的一些定制要求,往往需要对某一些代码的修改,但是又不想影响主要的开发,这个时候需要对当前的主分支做一些分支处理(br ...
- C#中,switch case语句中多个值匹配一个代码块的写法
switch (num) { case 1: Response.Write("1"); break; case 2: case 3: Response.Write("2| ...
- Android Studio快捷键switch case 轻松转换为if else
Android Studio快捷键switch case 轻松转换为if else 今天碰到的问题,没有找到资料,后面找到了方法,这个记下来,转载请注明出处:http://www.cnblogs.co ...
- 代码的坏味道(6)——Switch声明(Switch Statements)
坏味道--Switch声明(Switch Statements) 特征 你有一个复杂的 switch 语句或 if 序列语句. 问题原因 面向对象程序的一个最明显特征就是:少用 switch 和 c ...
- java中的switch case
switch-case语句格式如下 switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; ... case default: //... ...
- switch语句的妙用
switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console. ...
- JAVA编程思想(第四版)学习笔记----4.8 switch(知识点已更新)
switch语句和if-else语句不同,switch语句可以有多个可能的执行路径.在第四版java编程思想介绍switch语句的语法格式时写到: switch (integral-selector) ...
- JavaScript (If...Else和Switch和循环遍历) 语句以及常用消息框
If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...el ...
随机推荐
- PhantomJS - Scriptable Headless Browser
http://phantomjs.org/ PhantomJS is an optimal solution for: Page automation Access webpages and extr ...
- Notepad++和Sublime单词首字符大小写转化问题
- [转帖]浅析java程序的执行过程
浅析java程序的执行过程 转帖来源: https://www.cnblogs.com/wangjiming/p/10315983.html 之前学习过 这一块东西 但是感觉理解的不深刻. copy一 ...
- 无法获得锁 /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
- 好文章系列C/C++——图说C++对象模型:对象内存布局详解
注:收藏好文章,得出自己的笔记,以查漏补缺! ------>原文链接:http://blog.jobbole.com/101583/ 前言 本文可加深对C++对象的内存布局.虚表指针.虚 ...
- 关于linux上文件无法正确显示中文的情况解决
其实有遇到过多次,而且还有几次是css在预编译的时候,系统编码不对也会报错. 贴一个写的还不错的文章:http://www.360doc.com/content/11/0728/09/7102324_ ...
- python之列表操作(list)
# 列表操作功能汇总 print("列表操作功能汇总") list_demo = ['first', 'second', 'thrid', 'fourth'] # 复制list_d ...
- python之enumerate函数:获取列表中每个元素的索引和值
源码举例: def enumerate_fn(): ''' enumerate函数:获取每个元素的索引和值 :return:打印每个元素的索引和值 ''' list = ['] for index, ...
- linux 内核参数优化----最大线程数限制及当前线程数查询
1.总结系统限制有: /proc/sys/kernel/pid_max #查系统支持的最大线程数,一般会很大,相当于理论值 /proc/sys/kernel/thread-max max_user_p ...
- python 模块 - 序列化 json 和 pickle
1,引入 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval ...