MST

星途 面试题库

面试题:Go中优化switch语句时如何合理使用fallthrough

在Go语言中,switch语句默认不会自动fallthrough到下一个case。请描述在什么场景下需要使用fallthrough关键字来优化switch语句,并举出一个简单示例说明如何正确使用它。
25.2万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试

场景描述

当希望在匹配到某个 case 后,继续执行下一个 case 的逻辑,而不是像默认情况那样直接跳出 switch 语句时,就需要使用 fallthrough 关键字。例如,在处理具有类似逻辑但条件略有不同的情况时,可避免重复代码。

示例代码

package main

import "fmt"

func main() {
    num := 2
    switch num {
    case 1:
        fmt.Println("One")
    case 2:
        fmt.Println("Two")
        fallthrough
    case 3:
        fmt.Println("Three")
    default:
        fmt.Println("Other")
    }
}

在上述示例中,num 的值为 2,匹配到 case 2 后,由于使用了 fallthrough,会继续执行 case 3 的逻辑,输出结果为:

Two
Three