5.3. 选择结构-switch

未匹配的标注
本文档最新版为 2023,旧版本可能放弃维护,推荐阅读最新版!

选择结构-switch

结构语法

//switch 变量(表达式) {
    //case 值1:
    //    代码体
    //  fallthrough
    //case 值2:
    //    代码体
    //default:
    //    代码体
    //}

根据分数 >=90 A >=80 B >=70 C >=60 D 不及格 E

func main() {

    var score int

    fmt.Scan(&score)

    switch score / 10 {

    case 10:

        //fmt.Println("A")

        fallthrough

    case 9:

        fmt.Println("A")

    case 8:

        fmt.Println("B")

    case 7:

        fmt.Println("C")

    case 6:

        fmt.Println("D")

    default:

        fmt.Println("E")

    }

}

通过上面的代码,我们实际上是定义了一个bool类型的变量,默认值为true,当输入评定级别错误时,将其改为false.最后在输出级别时,做了判断,如果条件成立表示输入了正确的评定级别,所以输出对应的级别,否则不输出级别。(这种技巧,需要大家好好体会一下)

我们前面在讲解if-else if结构时讲过,该结构适合什么场合:1.多条件判断,2:区间性的数据判断。但是我们看一下该案例,是否是对区间性的数据进行判断呢?不是,而是定值判断,也就是对一个固定值的判断。

对这种固定值的判断推进使用switch-case结构。

break 与 fallthrough

注意:某个case 后面跟着的代码执行完毕后,不会再执行后面的case,而是跳出整个switch结构, 相当于每个case后面都跟着break(终止),但是如果我们想执行完成某个case后,强制执行后面的case,可以使用fallthrough。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~