Go语法之switch

第一种写法 —— switch x

注意:switch会自动break,除非使用fallthrough

[go]func branch(a, b int, op string) int {
    var result int
    switch op {
    case "+":
        result = a + b
    case "-":
        result = a – b
    case "*":
        result = a * b
    case "/":
        result = a / b
    default:
        panic("unexpected op:" + op)
    }
    fmt.Println(result)
    return result
}[/go]

第二种写法 —— switch后直接写花括号

[go]func grade(score int) string {
    g := ""
    switch {
    case score < 0 || score > 100:
        panic(fmt.Sprintf(
            "Wrong score: %d", score))
    case score < 60:
        g = "F"
    case score < 80:
        g = "C"
    case score < 90:
        g = "B"
    case score <= 100:
        g = "A"
    }
    return g
}[/go]

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注