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. Hbase单点安装Version1.1.5

    Hbase单点安装,基于版本1.1.5, 使用hbase-1.1.5.tar.gz安装包. 1.安装说明 使用Hbase自带zookeeper和本地文件目录存储数据 2.安装规划 角色规划 IP/机器 ...

  2. Spring 处理请求和响应相关的注解

    @Controller 默认返回 templates 目录下的 string.html 页面内容. 在方法中加上 @ResponseBody 注解,可以返回JSON.XML或自定义mediaType的 ...

  3. Unity3D开发入门教程(二)—— Lua入门

    五邑隐侠,本名关健昌,12年游戏生涯. 本教程以 Unity 3D + VS Code + C# + tolua 为例. 如果你还没有编程基础,建议你先学习一些编程基础.本文不是完全菜鸟教程,主要针对 ...

  4. Go 中实现用户的每日限额(比如一天只能领三次福利)

    如果你写一个 bug 管理系统,用了这个 PeriodLimit 你就可以限制每个测试人员每天只能给你提一个 bug.工作是不是就轻松很多了? 如今微服务架构大行其道本质原因是因为要降低系统的整体复杂 ...

  5. windows server 服务器安装jenkins 并通过git拉取代码实现自动发布到IIS

    Jenkins是一个开源软件,可以通过一定的配置进行自动构建,测试,部署等功能. 首先,服务器应安装好 .NET Core环境和JDK, 下载Jenkins安装包 https://www.jenkin ...

  6. 【笔记】直接使用protocol buffers的底层库,对特定场景的PB编解码进行处理,编码性能提升2.4倍,解码性能提升4.8倍

    接上一篇文章:[笔记]golang中使用protocol buffers的底层库直接解码二进制数据 最近计划优化prometheus的remote write协议,因为业务需要,实现了一个remote ...

  7. unity3d C# soket客户端接受失败

    using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using S ...

  8. vuecli学习01 - 环境搭建

    到这个链接下载nvm的安装包:https://github.com/coreybutler/nvm-windows/releases. 然后点击一顿下一步,安装即可! 安装完成后,还需要配置环境变量. ...

  9. 1.IO流

    1.组成部分 File.FileInputStream.FileOutStream.FileWriter.FileReader 2.File pathSeparatorChar ; separator ...

  10. java-包概述

    1 package face_package; 2 3 import face_packagedemo.DemoA; 4 5 /* 包(package) 6 * 1,对类文件进行分类管理. 7 * 2 ...