Declaración de no declaración fuera del cuerpo de la función en Go

Estoy creando una biblioteca Go para una API que ofrece datos en formato JSON o XML.

Esta API requiere que solicite unsession_id cada 15 minutos más o menos, y usar eso en las llamadas. Por ejemplo:

foo.com/api/[my-application-id]/getuserprofilejson/[username]/[session-id]
foo.com/api/[my-application-id]/getuserprofilexml/[username]/[session-id]

En mi biblioteca Go, estoy tratando de crear una variable fuera de lamain() func y la intención de hacer ping para un valor para cada llamada a la API. Si ese valor es nulo o está vacío, solicite un nuevo ID de sesión y así sucesivamente.

package apitest

import (
    "fmt"
)

test := "This is a test."

func main() {
    fmt.Println(test)
    test = "Another value"
    fmt.Println(test)

}

¿Cuál es la forma idiomática de Go de declarar una variable accesible globalmente, pero no necesariamente una constante?

Mitest la variable necesita:

Ser accesible desde cualquier lugar dentro de su propio paquete.Ser cambiable

Respuestas a la pregunta(3)

Su respuesta a la pregunta