首页 > 其他分享 >无涯教程-Go - switch 语句函数

无涯教程-Go - switch 语句函数

时间:2023-12-20 22:01:41浏览次数:44  
标签:case grade fmt 无涯 switch Printf Go type

switch 语句允许针对值列表对变量进行相等性测试。

switch - 语法

Go编程语言中 expression switch 语句的语法如下-

switch(boolean-expression or integral type){
   case boolean-expression or integral type :
      statement(s);      
   case boolean-expression or integral type :
      statement(s); 
   
   /* 你可以有任意数量的case语句 */
   default : /* 可选 */
      statement(s);
}

switch - 流程图

switch statement in Go

switch - 示例

package main

import "fmt"

func main() {
   /* 局部变量定义 */
   var grade string="B"
   var marks int=90

   switch marks {
      case 90: grade="A"
      case 80: grade="B"
      case 50,60,70 : grade="C"
      default: grade="D"  
   }
   switch {
      case grade == "A" :
         fmt.Printf("Excellent!\n" )     
      case grade == "B", grade == "C" :
         fmt.Printf("Well done\n" )      
      case grade == "D" :
         fmt.Printf("You passed\n" )      
      case grade == "F":
         fmt.Printf("Better try again\n" )
      default:
         fmt.Printf("Invalid grade\n" );
   }
   fmt.Printf("Your grade is  %s\n", grade );      
}

编译并执行上述代码后,将产生以下输出-

Excellent!
Your grade is  A

Type Switch - 语法

Go编程中 type switch 语句的语法如下-

switch x.(type){
   case type:
      statement(s);      
   case type:
      statement(s); 
   /* 可多个case选项 */
   default: /* 可选 */
      statement(s);
}

Type Switch - 示例

package main

import "fmt"

func main() {
   var x interface{}
     
   switch i := x.(type) {
      case nil:	  
         fmt.Printf("type of x :%T",i)                
      case int:	  
         fmt.Printf("x is int")                       
      case float64:
         fmt.Printf("x is float64")           
      case func(int) float64:
         fmt.Printf("x is func(int)")                      
      case bool, string:
         fmt.Printf("x is bool or string")       
      default:
         fmt.Printf("don't know the type")     
   }   
}

编译并执行上述代码后,将产生以下输出-

type of x :<nil>

参考链接

https://www.learnfk.com/go/go-switch-statement.html

标签:case,grade,fmt,无涯,switch,Printf,Go,type
From: https://blog.51cto.com/u_14033984/8911068

相关文章

  • AI-GOMS 清华黄小猛
    海洋大模型 海洋数据用HYCOM,还有一些ERA5的大气数据用于边界条件,地形数据为ETOPO backbonemodel用于预测TSUVSSH,微调后用于下游的降尺度、波解码、生物化学耦合适用于缺测的稀疏数据预测给的是30天的结果统计和对比在backbonemodel的预测结果统计中,特地提了该模型......
  • 初学GO
    完整代码在文章最下方view这是一个客户信息管理系统的代码,主要分为三层:view,service和model。其中,view层负责用户界面的显示和输入,service层负责业务逻辑的实现,model层负责数据的存储和操作。下面我来一步一步讲解这段代码。首先是导入包:import( "fmt" "study/model" ......
  • 无涯教程-Go - nested if 语句函数
    在Go编程中,对nestif-else语句总是合法的,这意味着您可以在另一个iforelseif语句中使用一个iforelseif语句。nestedif-语法嵌套if语句的语法如下-if(boolean_expression1){/*当布尔表达式1为真时执行*/if(boolean_expression2){/*当布尔......
  • ZFSoft KINGOSOFT SouthSoft 高校智慧校园教学综合服务平台
    KINGOSOFT高校智慧校园教学综合服务平台网址:www.kingosoft.com地址:湖南省长沙市三一大道526号旺德府恺悦国际大厦16层青果软件集团有限公司是一家高新技术企业、中国教育信息化理事会副理事长单位,创建于2000年03月28日,注册资金6000万元,员工300余人,总部设在湖南......
  • Mongodb快速入门
    目录简介MongoDB基础知识安装&配置基本数据类型CURD操作数据库操作集合操作(表)文档操作新增文档查询文档修改文档删除文档聚合Pymongo简介MongoDB是一款强大、灵活、且易于扩展的通用型数据库易用性MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用......
  • 无涯教程-Go - if...else 语句函数
    if语句后可以跟可选的else语句,该语句在布尔表达式为false时执行。if...else-语法Go编程语言中的if...else语句的语法是-if(boolean_expression){/*如果布尔表达式为真,则将执行语句*/}else{/*如果布尔表达式为假,语句将执行*/}if...else-流程图p......
  • An Introduction to Bioinformatics Algorithms, Neil C. Jones and Pavel Pevzner, t
    AnIntroductiontoBioinformaticsAlgorithms,NeilC.JonesandPavelPevzner,theMITPress,2004. Thisintroductorytextoffersaclearexpositionofthealgorithmicprinciplesdrivingadvancesinbioinformatics.Accessibletostudentsinbothbiology......
  • MongoDB、Elasticsearch、Redis、HBase应用场景分析
    1.MongoDB一个基于分布式文件存储的数据库系统,由C++编写,旨在为Web应用提供高速、可扩展、高性能的数据存储解决方案。MongoDB采用了文档型数据库模型,即数据以文档的形式存储,而文档是由键值对组成的。MongoDB的名称来自Hadoop创始人DougCutting的宠物狗Mongo。  应用场景......
  • 无涯教程-Go - if 语句函数
    if语句由一个布尔表达式和一个或多个语句组成。if-语法Go编程语言中的if语句的语法为-if(boolean_expression){/*如果布尔表达式为真,则将执行语句*/}if-流程图packagemainimport"fmt"funcmain(){/*局部变量定义*/varaint=10/*使......
  • 2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数
    2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少?如果没有有效方法,返回-1。正式:2<=n<=10^60<=arr[i]<=100001<=T<=10^8扩展:2<=n<=10^6-10000<=arr[i]<=1......