美文网首页
Go语言学习之——switch

Go语言学习之——switch

作者: 星空_ad64 | 来源:发表于2018-04-10 20:21 被阅读0次

根据传入条件的不同,选择语句会执行不同的语句。下面的例子根据传入的整型变量i的不同而打印不同的内容:

switch i { 
    case 0: 
        fmt.Printf("0") 
    case 1: 
        fmt.Printf("1") 
    case 2: 
        fallthrough 
    case 3: 
        fmt.Printf("3") 
    case 4, 5, 6: 
        fmt.Printf("4, 5, 6") 
    default: 
        fmt.Printf("Default") 
} 

switch后面可以没有表达式

package main

import (
    "io/ioutil"
    "fmt"
)

func grade(score int) string{
    var g string

    switch {
    case score < 0 || score > 100:
        panic( fmt.Sprintf("Wrong Score:%d", score) ) //panic会中断程序,它的输入是字符串,fmt.Sprintf的作用的是拼接生成一个字符串,但不会打印出来。
    case score < 60:
        g = "F"
    case score < 70:
        g = "D"
    case score < 80:
        g = "C"
    case score < 90:
        g = "B"
    case score <= 100:
        g = "A"
    //default:
    //  panic( fmt.Sprintf("Wrong Score:%d", score) )
    }

    return g
}

func main() {
    const filename = "test.txt"

    if contents, err := ioutil.ReadFile(filename); err != nil{
        fmt.Println(err)
    }else{
        fmt.Printf("%s\n", contents)
    }

    fmt.Println(
        grade(0),
        grade(30),
        grade(66),
        grade(76),
        grade(89),
        grade(90),
        grade(100),
        grade( 103 ), //注意这里有个逗号
        //output:panic: Wrong Score:103,因为panic会中断,整个fmt.Println被中断,所以前面的几个grade函数的结果不会打印,但是并不影响if else里面的打印,如果几个println是拆开写的,前面的grade的结果就会打印出来。
        )
}

相关文章

  • (三)go语言逻辑

    go语言逻辑 if switch for

  • Go语言学习之——switch

    根据传入条件的不同,选择语句会执行不同的语句。下面的例子根据传入的整型变量i的不同而打印不同的内容: switch...

  • Go基础笔记

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

  • Go语言 - switch/case

    参考https://gobyexample.com/switch

  • Go 语言之switch

    前言介绍:本人原本是C++开发工程师,使用C++已经有8年多的时间,最近在学习Go语言,在学习Go语言的时候,难免...

  • golang内存逃逸

    一篇很好的博客: Go 语言机制之栈与指针 Go 语言机制之逃逸分析 Go 语言机制之内存剖析 Go 语言机制之数...

  • Go 语言学习技巧和编程思维

    Go 语言学习技巧和编程思维 一、了解 Go 语言 了解 Go 语言背景 学习 Go 语言,首先要了解 Go 语言...

  • GO语言初级学习之代码案例08(生产者消费者模型)

    GO语言初级学习之代码案例08-生产者消费者模型 @(go语言 黑马)[GO语言] 条件变量模拟生产者消费者模型 ...

  • Go学习笔记(四)

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

  • Golang与C#之switch区别

    Golang与C#之switch区别 Go是Google开发的一种编译型,可并行化,并具有垃圾回收功能的编程语言。...

网友评论

      本文标题:Go语言学习之——switch

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