Несколько инициализаторов в операторе Go if
-
19-09-2019 - |
Вопрос
Только что открыл для себя 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, есть ли что-то, чего мне не хватает, или это просто невозможно?
Решение
Вот как это сделать:
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
Другие советы
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)
}
}
Не связан с StackOverflow