代码之家  ›  专栏  ›  技术社区  ›  Eddie

go if语句中有多个初始值设定项

  •  6
  • Eddie  · 技术社区  · 15 年前

    刚发现走了,到目前为止我很好奇。 我知道我只是懒惰,但我想知道在if语句中是否可以初始化多个变量。我知道以下是可能的:

    if x := 5; x == 5 {
        fmt.Printf("Whee!\n")
    }
    

    我试过以下方法:

    if x := 5, y := 38; x == 5 {
        fmt.Printf("Whee! %d\n", y)
    }
    
    if x := 5 && y := 38; x == 5 {
        fmt.Printf("Whee! %d\n", y)
    }
    

    但两者都不起作用。我查看了Go网站上的文档,有没有遗漏什么,或者根本不可能?

    2 回复  |  直到 8 年前
        1
  •  11
  •   user180100    15 年前

    方法如下:

    package main
    
    import("fmt")
    
    func main() {
            if x, y := 5, 38; x == 5 {
                fmt.Printf("Whee! %d\n", y)
            }
    }
    

    本版本测试:

    changeset:   3975:b51fd2d6c160
    tag:         tip
    user:        Kevin Ballard <xxxxxxxxxxxxxxxxxxxxx>
    date:        Tue Nov 10 20:05:24 2009 -0800
    summary:     Implement new emacs command M-x gofmt
    
        2
  •  0
  •   Rob    8 年前
    package main
    import("fmt")
    func main() {
        if x, y := 5, 38; x == 5 {
            fmt.Printf("y = %d\n", y)
            fmt.Printf("x = %d\n", x)
        }
    }
    

    https://play.golang.org/p/Sbv6hUmKyA