Go- switch-case 结构

版权声明: 本文为 InfoQ 作者【HelloBug】的原创文章。
原文链接:【http://xie.infoq.cn/article/ae64f9209d71653f03de010c1】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。

Go 学习笔记,学习内容《Go入门指南》
主要介绍以下内容:
基本使用
关键字 fallthrough
分支合并
使用赋值表达式和条件表达式
代码示例可以直接运行
package main
import ( "fmt")
func main() { /* switch case基本使用 case var:中的var不局限于常量和整型 */ i := 100 switch i { // 左花括号必须和 switch 在同一行 case 0: fmt.Println(0) // 不需使用break,仅执行匹配成功的case,剩下的case不会执行 case 1: fmt.Println(1) case 2: // 如果该case匹配成功,则不执行任何代码,不会执行case 3里面的代码块 case 3: fmt.Println(3) default: // 以上所有分支均不匹配,执行default分支,default分支可省略 fmt.Println("default") }
/* 使用关键字fallthrough */ j := 0 switch j { case 0: fmt.Println(0) // 输出:0 fallthrough // 该关键字使得当前分支执行结束之后,会执行下一个分支的代码 case 1: fmt.Println(1) // 输出:1 case 2: fmt.Println(2) // 代码不会执行 }
/* 分支合并 */ k := 87 switch k { case 87, 88: // 当前分支可以匹配87和88两种情况 fmt.Println(87, 88) case 89: fmt.Println(89) }
/* switch 中使用赋值语句,注意使用分号 case 中使用条件表达式 */ switch x := 50; { case x < 50: fmt.Println("x < 50") case x == 50: fmt.Println("x == 50") case x > 50: fmt.Println("x > 50") }}
版权声明: 本文为 InfoQ 作者【HelloBug】的原创文章。
原文链接:【http://xie.infoq.cn/article/ae64f9209d71653f03de010c1】。
本文遵守【CC BY-NC-ND】协议,转载请保留原文出处及本版权声明。
还未添加个人签名 2018.09.20 加入
还未添加个人简介

促进软件开发及相关领域知识与创新的传播
京公网安备 11010502039052号


评论