在go语言中,我们经常会涉及到使用switch-case这种语法函数,我们首先来回顾一下再java语言中使用switch-case是怎么用的,下面列举下:
package com.test;
public class Test2 {
public static void main(String[] args) {
int num = 1;
switch (num) {
case 1:
System.out.println("获取到的结果是:1");
break;
case 2:
System.out.println("获取到的结果是:2");
break;
case 3:
System.out.println("获取到的结果是:3");
break;
case 4:
System.out.println("获取到的结果是:4");
break;
default:
break;
}
}
}在java语言中我们可以看到使用switch-case这种语法函数的时候,每一个case之后都需要添加一个break关键词,这个关键词的作用就是跳出当前的switch-case判断,不让其继续判断执行,那么在go语言中我们如何执行呢?下面列举个go语言的switch-case语法函数示例:
num := 1
switch num {
case 1:
fmt.Println("获取到的结果是:1")
case 2:
fmt.Println("获取到的结果是:2")
case 3:
fmt.Println("获取到的结果是:3")
case 4:
fmt.Println("获取到的结果是:4")
}可以看到在go语言中是不需要这个break关键词的,在go语言中相当于默认的添加了一个break关键词,这里就不需要我们自己去添加这个关键词了,下面我们运行下这个go的测试用例:
可以看到遇到判断之后就自动的跳出了当前的switch-case判断。
接着我们再介绍下这个fallthrough关键词
这个fallthrough关键词其实也是和这个break相关的,在java语言中如果我们不添加这个break关键词,那么他就会继续往下执行case的判断,示例如下:
可以看到只要命中了,他会一直认为是true的条件,然后把后面的case全部执行一遍,在go语言中,我们想要达到这个效果的话,我们就需要使用fallthrough关键词了,所以在go语言中我们是这样子处理的:
num := 2
switch num {
case 1:
fmt.Println("获取到的结果是:1")
fallthrough
case 2:
fmt.Println("获取到的结果是:2")
fallthrough
case 3:
fmt.Println("获取到的结果是:3")
fallthrough
case 4:
fmt.Println("获取到的结果是:4")
}可以看到实现了同样的效果。
备注:
1、一般个人很少使用fallthrough关键词,因为比较在实际的业务中,使用break关键词会更多一点。




还没有评论,来说两句吧...