老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Go 语言 switch 条件语句!老男孩GO入门教程

老男孩IT教育

行业新闻

2021年6月21日 17:48

switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,所有 case 分支的参数必须是相同的类型,语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break 默认自动终止。

  switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,所有 case 分支的参数必须是相同的类型,语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break 默认自动终止。

  switch 语句

  第一种,直接判断

package main

import "fmt"

func main() {
    var i = 0
    switch i {
    case 0:
    case 1:
        fmt.Println(1)
    case 2:
        fmt.Println(2)
    default:
        fmt.Println("default")
    }
}

  第二种,带初始化语句

package main

import "fmt"

func main() {
    names := []string{"Linux", "Golang", "Java", "Python"}
    switch name := names[0]; name {
    case "Golang":
        fmt.Println("Golang")
    case "Java":
        fmt.Println("Java")
    case "Python":
        fmt.Println("Python")
    default:
        fmt.Println("oldboy")
    }
}

  第三种,一个 case 多个可能符合条件的值

package main

import "fmt"

func main() {
    var i = 1
    switch i {
    case 0, 1:
        fmt.Println("0 or 1")
    case 2:
        fmt.Println("2")
    default:
        fmt.Println("default")
    }
}

  第四种,省略条件表达式应用

package main

import "fmt"

func main() {
    var i = 10
    switch {
    case i >= 0 && i < 10:
        fmt.Println("i > 0 and i < 10")
    case i >= 10 && i < 20:
        fmt.Println("i > 10 and i < 20")
    default:
        fmt.Println("default")
    }
}

  第五种,fallthrough应用

  Go语言 switch 语句每个 case 最后默认带有break,匹配成功后不会自动向下执行其他 case,而是跳出整个switch,可以使用 fallthrough 语句强制执行后面的 case 代码。

package main

import "fmt"

func main() {
    var i = 0
    switch i {
    case 0:
        fmt.Println("fallthrough")
        fallthrough
    case 1:
        fmt.Println(1)
    case 2:
        fmt.Println(2)
    default:
        fmt.Println("default")
    }
}

  老男孩GO开发课程可以试听吗?当然可以,老男孩Go开发课程2021全面升级(周末班), 试听即送价值69元纸质教材一本。

  推荐阅读:

  Python与Golang对比,如何选择?老男孩教育

  学习Linux常见的开发命令有哪些?

  如何选择合适的网络安全培训机构?老男孩培训

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。