下面选项正确的是?

func main() {
    if a := 1; false {
    } else if b := 2; false {
    } else {
        println(a, b)
    }
}

A. 1 2 B. compilation error

涉及到 代码块的问题。 具体可以看这篇文章 https://studygolang.com/articles/35587 化解出来后该代码变为

{
        a := 1
        if false {

        } else {
            b := 2
            if false {

            } else {
                println(a, b)
            }
        }
    }