前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go+选择语句switch

Go+选择语句switch

作者头像
上分如喝水
发布2021-12-10 13:44:42
4560
发布2021-12-10 13:44:42
举报
文章被收录于专栏:XiaoLin笔记

概述

如果我们需要匹配某些情况的时候,比如说给考试分等级,90分以上为A,70分以上为B,60分以下为C,这种情况,我们发现,如果使用if条件语句的话,实现起来是十分复杂的,所以就有了选择语句switch。

Go+的switch相较于Java和、C的switch语句更加灵活方便。

语法

基本语法

Go+的switch无需break,避免了条件击穿的问题,Go+会自动帮我们匹配到合适的switch语句,就不再执行下面一行的代码了,具体的语法格式如下:

代码语言:javascript
复制
   switch 需要判断的变量{
      case 情况A :
         // 执行的代码  
      case 情况B :
         // 执行的代码       
      case 情况C :
         // 执行的代码      
      case 情况D :
         // 执行的代码  
      default:
         // 都不匹配的情况下执行
   }

写一个小Demo,如果分数90以上分为A,70分以上为B,60分以上为C,60分以下为D。

代码语言:javascript
复制
var marks int = 90   
switch {
	case marks >= 90 :
    	println("A")    
	case marks<90 && marks>=70 :
    	println("B")  
    case marks<70 && marks>=60 :
    	println("C") 
      default:
         println("D" );
}

default case

如果我们写的几种情况都匹配不上的话,Go+会默认帮我们匹配default的这种情况,需要注意的是Go+的default不是只能放在最后,而是可以放在任何的位置。

代码语言:javascript
复制
var marks int = 30   
switch {
	case marks >= 90 :
    		println("A")    
	case marks<90 && marks>=70 :
    		println("B")
	default:
         	println("D" );  
	case marks<70 && marks>=60 :
    		println("C") 

}

多case的情况

如果我们需要匹配多种情况,比如我们的元音辅音,是没有任何数学上的规律,仅仅只是需要匹配多个值,我们就可以在case上不断加条件,变成多case的情况。

代码语言:javascript
复制
word := "i"
    switch word {
    case "a", "e", "i", "o", "u": 
        println("元音")
    default:
        println("辅音")
    }

fallthrough

我们前面说过,如果Go+的switch匹配到了某种情况是不会再去执行下面的语句了,如果我们想要继续执行下面代码的效果就可以使用fallthrough,需要注意的是fallthrough会强制执行后面的case里面的代码,不会去判断case里面的情况是否是真。

代码语言:javascript
复制
num := 30  
switch {
    case num < 50:
        println("小于40")
        fallthrough
    case num < 70:
        println("小于70")
        fallthrough
    case num < 90:
        println("小于90")
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 语法
    • 基本语法
      • default case
        • 多case的情况
          • fallthrough
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档