go语言switch语句用法

switch是最灵活的一种控制语句,在使用switch时候,需要注意:

--左花括号"{"必须与switch处于同一行

--条件表达式不限制为常量或者整数

--单个case中,可以出现多个结果选项

--与C语言等规则相反,G0语言不需要break来明确退出一个case

--只有在case中明确添加fallthrough关键字,才会继续执行紧跟的下一个case

--可以不设定switch之后的条件表达式,在此种情况下,整个switch结构与多个if....else的逻辑作用等同

--可以有任意数量的case语句在switch内,每个case后跟值进行比较,以及一个冒号

--在switch语句中使用的表达式必须具有整体或布尔表达式,或者是一个类型,如果表达式不通过,默认值为true

--constant-expression的情况,必须是相同的数据类型,在switch的变量,它必须是一个常量或文字

--switch语句可有一个可选的default,它必须出现在switch语句的末尾,default可用于在没有任何case为真时执行任务,default之后不需要break语句

流程图

egg1:

package main
import "fmt"
func main() {
    var grade string = "A"
    switch {
    case grade == "A":
        fmt.Printf("Good....\n")
    case grade == "B":
        fmt.Printf("Well Done....\n")
    case grade == "C":
        fmt.Printf("Ok....")
    default:
        fmt.Printf("iNVALID grade....\n")
    }
    fmt.Printf("Your grade is %s\n", grade)
}

egg2:

package main
import "fmt"
func main() {
    switch a := 1; {
    case a >= 0:
        fmt.Printf("a>=0")
        fallthrough //如果不加这个只会打印a>=0,不会执行后面的a>=1的语句,若要让每个case都判断,都要在case 后面加 fallthrough 
    case a >= 1:
        fmt.Printf("a=1")
    default:
        fmt.Printf("not found...")
    }
}

##需要注意的是跟在switch属于局部的变量,只能在内部实现访问,若要全局必须在switch外部

时间: 2024-08-05 22:51:47

go语言switch语句用法的相关文章

switch语句用法规则

switch也是c语言中比较常见的一种函数,前面学这个的时候只是记了一个大概的用法,也没怎么练习 今天上c语言实训课的时候被同学问了一个关于switch的题目,我选错了.所以回来重新整理一下这个函数的要点. 先来看一下今天他问那个题目: 例题:若有一下变量定义: float x; int a, b; 则正确的switch语句是( ). A.switch(x){ B.switch(a){ C.switch(b){ D.switch(a+b){ case 1.0:printf("*\n")

Java语言Switch语句详解

课程背景:程序中经常需要处理多种情况的判断,switch语句非常适合处理多分支流程. 核心内容:1.switch语句的概念和用法2.使用switch语句进行流程控制 开发环境:Eclipse 是否提供源码:是 课程等级:入门级别 适应群体:零基础的开发者

1.4 Go语言-switch语句(转)

与串联的if语句类似,switch语句提供了一个多分支条件执行的方法.不过在这里用一个专有名词来代表分支——case.每一个case可以携带一个表达式或一个类型说明符.前者又可被简称为case表达式.因此,Go语言的switch语句又分为表达式switch语句和类型switch语句.      先说表达式switch语句.在此类switch语句中,每个case会携带一个表达式.与if语句中的条件表达式不同,这里的case表达式的结果类型并不一定是bool.不过,它们的结果类型需要与switch表

C语言:switch语句

如果表达式的值等于常量那么就执行这个常量后面的语句 switch (表达式) { case 常量: 语句; .... break; case 常量: 语句; .... break; default: 语句; .... break; } 注意点:1.case 后面的常量不可以重复 2.break 作用:结束switch语句 3.switch 语句只有遇到break 或者 switch后面大括号才会结束 4.当switch与某一个case匹配了,那么后面的所有case都失效了 5.case 后面只能

C语言-switch语句的使用。对文件的输出处理。for循环和if的结合使用。

//函数fun功能:统计字符串中各元音字母的个数,注意:不区分大小写. //重难点:switch语句的使用. 1 #include <stdlib.h> 2 #include <conio.h> 3 #include <stdio.h> 4 /*************found**************/ 5 void fun(char *s, int num[5]) 6 { int k, i=5; 7 for (k = 0; k < i; k++) 8 /*

【好程序员笔记分享】C语言之switch语句

ios培训------我的c语言笔记,期待与您交流! #include <stdio.h> /* switch (数值) { case 数值1: 语句1; break; case 数值2: 语句2; break; default : 语句3; break; } */ int main() { //int a = 10; // break:退出整个switch语句 // 如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止 /* int b = 10; swi

PROCESS_YIELD()宏和C语言的switch语句&lt; contiki学习笔记之七&gt;

写在前面:  按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置.但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事,于是单独把整个宏的东西整理成笔记,贴出来,和学习contiki的伙伴分享. 在说这个宏之前,得先记下c 语言的switch()遭遇. switch()从表面上来看,或许应该是非常简单的问题--C语言的基本功吧.它的使用方式,按照常规来说,如下图所示: 好吧,那就贴一段常规的代码: 1 int ma

C语言-switch语句

switch (表达式的值) { case 1: 语句1 break; case 2: 语句2 break; case 3: 语句3 break; case 4: 语句4 break; ...... default: 默认语句 break; 1.适用于离散值的开关判断,可以转换成一段连续的范围 2.注意case穿透,break的使用. 3.可以把各个case值定义为enum枚举或者使用宏定义定义别名 1.使用switch语句完成:输入一个简单的两个数字加减乘除运算的式子,使用switch通过转换

c语言:用switch语句处理菜单命令

用switch语句处理菜单命令.在许多应用程序中,用菜单对流程进行控制,例如从键盘输入一个'A'或'a'字符,就会执行A操作,输入一个'B'或'b'字符,就会执行B操作. 解:程序: #include<stdio.h> void add(int x, int y) { printf("x+y=%d\n", x + y); } void mul(int x, int y) { printf("x*y=%d\n", x * y); } int main()