【发布时间】:2013-12-28 18:57:03
【问题描述】:
我正在为提供 JSON 或 XML 格式数据的 API 构建 Go 库。
此 API 要求我每 15 分钟左右请求一次session_id,并在调用中使用它。例如:
foo.com/api/[my-application-id]/getuserprofilejson/[username]/[session-id]
foo.com/api/[my-application-id]/getuserprofilexml/[username]/[session-id]
在我的 Go 库中,我试图在 main() 函数之外创建一个变量,并打算 ping 它以获取每个 API 调用的值。如果该值为 nil 或为空,则请求新的会话 id 等等。
package apitest
import (
"fmt"
)
test := "This is a test."
func main() {
fmt.Println(test)
test = "Another value"
fmt.Println(test)
}
什么是惯用的 Go 方式来声明一个全局可访问的变量,但不一定是一个常量?
我的test 变量需要:
- 可以从它自己的包中的任何地方访问。
- 多变
【问题讨论】:
标签: variables scope go package global