2009-11-11 5 views
4

Je viens de découvrir Go, et je suis très curieux jusqu'à présent. Je sais que je suis juste paresseux, mais je veux savoir s'il est possible d'initialiser plusieurs variables dans une instruction if. Je sais que ce qui suit est possible:Initialiseurs multiples dans une instruction Go if

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

J'ai essayé ce qui suit:

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) 
} 

Mais ni travaillé. J'ai regardé la documentation sur le site Web de Go, y a-t-il quelque chose qui me manque ou est-ce simplement impossible?

Répondre

9

est ici comment le faire:

package main 

import("fmt") 

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

testé avec cette révision:

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