package main

import "fmt"

/*
switch语法结构:
switch 变量名 {
case 数值1:分支1
case 数值2:分支2
...
default:最后一个分支
} 注意事项:
1.switch可以作用在其他类型上,case后的数值必须和switch作用的变量类型一致
2.case是无序的
3.case后的数值是唯一的
4.default语句是可选操作
*/
func main() {
num := 4
switch num {
case 1:
fmt.Println("一季度")
case 2:
fmt.Println("二季度")
case 3:
fmt.Println("三季度")
case 4:
fmt.Println("四季度")
default:
fmt.Println("数据有误")
} f := true
switch f {
case true:
fmt.Println("对")
case false:
fmt.Println("错")
} //特殊用法1:省略switch后面的变量,相当于直接作用在true上
switch {
case num == 1:
fmt.Println("一季度")
case num == 2:
fmt.Println("二季度")
case num == 3:
fmt.Println("三季度")
case num == 4:
fmt.Println("四季度")
default:
fmt.Println("数据错误")
} //特殊用法2:case后可以同时跟随多个数值
num1 := 8
mod1 := num1 % 10
switch mod1 {
case 1, 3, 5, 7, 9:
fmt.Printf("%d单数\n", num1)
case 0, 2, 4, 6, 8:
fmt.Printf("%d双数\n", num1)
} //特殊用法3:switch后可以加初始化语句,作用域在switch语句内
switch mod2 := num1 % 10; mod2 {
case 1, 3, 5, 7, 9:
fmt.Printf("%d单数\n", num1)
case 0, 2, 4, 6, 8:
fmt.Printf("%d双数\n", num1)
} //switch中的break和fallthrough
switch n := 2; n {
case 1:
fmt.Println(n)
fmt.Println("1")
case 2:
fmt.Println(n)
break //跳出
fmt.Println("2")
} switch m := 1; m {
case 1:
fmt.Println(1)
fallthrough //无需匹配,继续执行下一个case语句
case 2:
fmt.Println(2)
}
}

四季度



四季度

8双数

8双数

2

1

2

go基础——switch语法的更多相关文章

  1. JAVA 基础基本语法---常量与变量

    JAVA 基础基本语法---常量与变量 语法:计算机能够识别的语言的规则: 0. 基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hel ...

  2. Java基础概念语法

    Java基础概念语法 注释 单行注释 //行注释说明 多行注释 /* 多行注释说明 */ 文档注释 /** *@author 程序的作者 *@version 源文件的版本 *@param 方法的参数说 ...

  3. Office·Word高级·VBA基础概念语法

    阅文时长 | 5.21分钟 字数统计 | 1823字符 『Office·Word高级·VBA基础概念语法』 编写人 | SCscHero 编写时间 | Monday, June 29, 2020 文章 ...

  4. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  5. OC基础 点语法的使用

    OC基础 点语法的使用 1.创建一个Student类继承于NSObject,Student.h文件 #import <Foundation/Foundation.h> @interface ...

  6. 二、JAVA基础、语法

    第二节:JAVA基础.语法 1.修饰符.变量:    Java中主要有如下几种类型的变量    局部变量                                                 ...

  7. 六. Python基础(6)--语法

    六. Python基础(6)--语法 1 ● Python3中, Unicode转字节的方法 print(bytes("李泉", encoding = 'utf-8')) prin ...

  8. 五. Python基础(5)--语法

    五. Python基础(5)--语法 1 ● break结束的是它所在的循环体, continue是让它所在的循环体继续循环 # 打印: 1 10 2 10 3 10 4 10 5 10 6 10 7 ...

  9. 四. Python基础(4)--语法

    四. Python基础(4)--语法 1 ● 比较几种实现循环的代码 i = 1 sum = 0 while i <= 10: # 循环10-1+1=10次     sum += i     i ...

随机推荐

  1. .net core的Swagger接口文档使用教程(二):NSwag

    上一篇介绍了Swashbuckle ,地址:.net core的Swagger接口文档使用教程(一):Swashbuckle 讲的东西还挺多,怎奈微软还推荐了一个NSwag,那就继续写吧! 但是和Sw ...

  2. go语言生成markdown文档工具

    虽然有go语言的swagger,但是go版本的swagger对代码的侵入比较大,因此抽空实现了基于GO语言生成markdown文档的工具 开源链接地址: https://github.com/w3li ...

  3. python使用String的Template进行参数动态替换

    1.前言: 之前使用string的find(),从指定的param里面查找,是否包含了某个字符,有的话,使用replace进行替换,一个接口的param要替换的参数少的话,使用这种方式,的确可行,如果 ...

  4. Visual Studio Code常用插件(持续更新)

    1.open in browser:使用快捷键在浏览器中打开html页面 在默认浏览器中打开html页面是Alt+B:在其他浏览器中显示是Shift+Alt+B:也可以右键单击html文件,在弹出的窗 ...

  5. 创建react开发环境

    准备工作 1.下载node.js(http://nodejs.cn/download/)推荐下载长期支持的版本 2.下载cnpm(https://jingyan.baidu.com/article/9 ...

  6. Echart可视化学习(一)

    文档的源代码地址,需要的下载就可以了(访问密码:7567) https://url56.ctfile.com/f/34653256-527823386-04154f 正文: 创建需要的目录结构及文件 ...

  7. 机器学习|线性回归算法详解 (Python 语言描述)

    原文地址 ? 传送门 线性回归 线性回归是一种较为简单,但十分重要的机器学习方法.掌握线性的原理及求解方法,是深入了解线性回归的基本要求.除此之外,线性回归也是监督学习回归部分的基石. 线性回归介绍 ...

  8. php伪协议总结

    本篇总结下一些封装协议,涉及的相关协议:file://.php://filter.php://input.zip://.compress.bzip2://.compress.zlib://.data: ...

  9. 谱分解(SD)

    前提:矩阵A必须可相似对角化! 充分条件: $A$ 是实对称矩阵 $A$ 有 $n$ 个互异特征值 $A^{\wedge} 2=A $ $\mathrm{A}^{\wedge} 2=\mathrm{E ...

  10. 《剑指offer》面试题36. 二叉搜索树与双向链表

    问题描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表.要求不能创建任何新的节点,只能调整树中节点指针的指向. 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜 ...