• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Golang > 深入剖析Go语言编程中switch语句的使用

深入剖析Go语言编程中switch语句的使用

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了switch语句,switch case语句,switch语句用法,c语言switch语句,java switch语句等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

switch语句可以让一个变量对反对值的列表平等进行测试。每个值被称为一个的情况(case),变量被接通检查每个开关盒(switch case)。

在Go编程,switch有两种类型。

表达式Switch - 在表达式switch,case包含相比较,switch表达式的值。

类型Switch - 在这类型switch,此时含有进行比较特殊注明开关表达式的类型。

表达式Switch
在Go编程语言中表达switch语句的语法如下:
switch(boolean-expression or integral type){
    case boolean-expression or integral type  :
       statement(s);     
    case boolean-expression or integral type  :
       statement(s);
    /* you can have any number of case statements */
    default : /* Optional */
       statement(s);
}
</div>
以下规则适用于switch语句:

在switch语句中使用的表达式必须具有整体或布尔表达式,或者是一个类型,其中所述类具有一个单一的转换函数,以一个整体或布尔值。如果表达不通过,默认值是true。

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

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

当变量被接通等于case的值,以下case中将执行语句。在case语句中break不是必需。

switch语句可以有一个可选默认情况下,它必须出现在开关结束。缺省情况下,可用于执行任务时没有的case为true。则case在默认情况下也不是必须的。

流程图:

20151029161605287.jpg (302×405)

例子:
package main

import "fmt"

func main() {
   /* local variable definition */
   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 );     
}
</div>
当上述代码被编译和执行时,它产生了以下结果:

Well done
Excellent!
Your grade is A
</div>

类型Switch
在Go编程语言的一个类型switch语句的语法如下:
switch x.(type){
    case type:
       statement(s);     
    case type:
       statement(s);
    /* you can have any number of case statements */
    default: /* Optional */
       statement(s);
}
</div>
以下规则适用于switch语句:

在switch语句中使用必须有接口的变量表达式{}输入。

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

case的类型必须是相同的数据类型,在switch的变量,它必须是一个有效的数据类型。

当变量被接通等于某一case中的值,以下case语句将执行。在case语句块的break不是必需的。

switch语句可以有一个可选默认case,它必须出现在switch的结束。缺省情况下,可用于执行任务时没有匹配case时。default不是必需的。

例子:
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")    
   }  
}
</div>
让我们编译和运行上面的程序,这将产生以下结果:

type of x :<nil>
</div>

</div>

您可能想查找下面的文章:

  • 深入剖析Go语言编程中switch语句的使用

相关文章

  • Go语言中struct的匿名属性特征实例分析
  • Golang排列组合算法问题之全排列实现方法
  • Go项目的目录结构详解
  • Go语言的Windows下环境配置以及简单的程序结构讲解
  • golang守护进程用法示例
  • Go语言基础知识总结(语法、变量、数值类型、表达式、控制结构等)
  • Go语言map字典用法实例分析
  • Go语言实现的排列组合问题实例(n个数中取m个)
  • Go语言写入字符串到文件的方法
  • Go语言中append函数用法分析

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 在Go程序中实现服务器重启的方法
    • Go语言正则表达式用法实例小结【查找、匹配、替换等】
    • go语言简单网络程序实例分析
    • go语言执行等待直到后台goroutine执行完成实例分析
    • go语言制作一个gif动态图
    • Golang中channel使用的一些小技巧
    • Go语言对字符串进行MD5加密的方法
    • Go语言结构体定义和使用方法
    • 使用Go语言实现远程传输文件
    • Go语言接口用法实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有