Эта программа Go не будет компилироваться. Он выдает ошибку global_var declared and not used
package main
import "log"
var global_var int
func main() {
global_var, new_string := returnTwoVars()
log.Println("new_string: " + new_string)
}
func returnTwoVars() (int, string) {
return 1234, "woohoo"
}
func usesGlobalVar() int {
return global_var * 2
}
Однако, когда я удаляю необходимость использования оператора :=
, объявляя new_string
в основной функции и просто используя =
, компилятор не имеет проблемы с тем, что global_var
объявлен глобально и используется в других местах программы. Моя интуиция подсказывает мне, что он должен знать, что global_var
уже объявлен