2009-11-11 61 views
4

剛剛發現Go,並且我對此非常好奇。 我知道我只是懶惰,但我想知道是否有可能在if語句中初始化多個變量。我知道,可能有如下情況:Go 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網站上的文檔,有沒有什麼我想念的或者這是不可能的?

回答

9

這裏是如何做到這一點:

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 
0
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

package main 

import("fmt") 

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

這個測試版本