Как объявить и инициализировать глобальную переменную за один раз

У меня есть набор глобальных переменных, которые используются в моем коде. Я инициализирую их так:

package main

import (
    "fmt"
)

var myVariable string

func sayHello() {
    fmt.Println(myVariable)
}

func main() {
    myVariable = "hello"
    sayHello()

}

myVariable однако определяется в одном месте и инициализируется в другом. Можно ли сгруппировать оба действия?

Я надеялся что возможно init() было бы решением

package main

import (
    "fmt"
)

func init() {
    myVariable := "hello"
}

func sayHello() {
    fmt.Println(myVariable)
}

func main() {
    sayHello()

}

но я получаю undefined: myVariable ошибка.

Я также надеялся, что смогу выполнить код снаружи main() но я могу только определить переменную там, но не инициализировать ее; код ниже дает syntax error: non-declaration statement outside function body

package main

import (
    "fmt"
)

myVariable := "hello"

func sayHello() {
    fmt.Println(myVariable)
}

func main() {
    sayHello()

}

0 ответов

Другие вопросы по тегам