Go之旅-Switch

作者: frankphper | 来源:发表于2017-03-25 21:00 被阅读0次

switch支持初始化语句,注意要用分号结束。后跟条件表达式,如果省略条件表达式,默认为true。不需要显式执行break语句,case执行完毕后自动中断。多个匹配条件,其中一个条件符合即可。case执行中断后,如果需要继续执行下一个case块的内容,在下一个case块结尾执行fallthrough并且可以在fallthrough前使用break语句阻止。但不继续后续case块。

package main

import (
    "fmt"
)

func main() {
    // 简单声明几个变量
    a, b, c, d := 1, 2, 3, 4
    switch x := 2; x { // switch支持初始化语句,注意要用分号结束。后跟条件表达式,如果省略条件表达式,默认为true。
    case a:
        fmt.Println("a")
        // break // 不需要显示执行break语句,case执行完毕后自动终端。
    case a, b: // 多个匹配条件,其中一个条件符合即可。
        fmt.Println("b")
        fallthrough // case执行中断后,如果需要继续执行下一个case块的内容,在下一个case块结尾执行fallthrough并且可以在fallthrough前使用break语句阻止。但不继续继续后续case块。
    case c:
        fmt.Println("c")
    case d:
        fmt.Println("d")
    case 5:
        fmt.Println("e")
    //case 5, 6: // 支持常量,但不能出现重复常量
    //  fmt.Println("f")
    default:
        fmt.Println("x") // 只有全部匹配失败后,才会执行default块。
    }
}

相关文章

  • Go之旅-Switch

    switch支持初始化语句,注意要用分号结束。后跟条件表达式,如果省略条件表达式,默认为true。不需要显式执行b...

  • (三)go语言逻辑

    go语言逻辑 if switch for

  • Go基础笔记

    Go语言基础(一) 流程控制语句:for、if、else、switch、defer for Go只有一种循环结构:...

  • Go建议(翻译)

    Go-advices 代码 go fmt 你的代码 多个if语句可以转换成switch 使用 chan struc...

  • Defer, Panic, Recover

    1、简介 Go具有控制流程的常用机制:if,for,switch,goto。 它还有go语句在单独的gorouti...

  • Go学习笔记(四)

    Go语言的switch语句又分为表达式switch语句和类型switch语句。每一个case可以携带一个表达式或一...

  • go学习三·分支语句

    在go中的 if,switch,for在与其他语言基本一致情况下多了一些功能 2.2 if 变体 2.switch...

  • 便捷golang开发

    go语言之旅:https://tour.go-zh.org/如何使用go编程:https://go-zh.org/...

  • Golang 多路条件语句 Switch 语法详解

    Switch 是 Go 语言中一种多路条件语句,一般搭配 case 语句使用。 执行逻辑 一个 switch ca...

  • 二.Go编程基础知识

    Go关键字 var const 声明变量与常量 if else switch case break contin...

网友评论

    本文标题:Go之旅-Switch

    本文链接:https://www.haomeiwen.com/subject/ptthottx.html