在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关键词会更多一点。
还没有评论,来说两句吧...