4

我正在用 Go 做一个项目。对于组织,我将代码拆分为文件:

  • 服务器相关功能进入server.go
  • 数据库处理进入db.go
  • 全局变量在types.go中
  • 等等

我在 types.go 中声明了一个变量document_root并在main.go中定义了它:

document_root,error := config.GetString("server","document_root")

server.go中,我有一个为请求的文件生成 HTTP 状态代码的函数,它确实:

_, err := os.Stat(document_root+"/"+filename);

编译后,我收到此错误:

“document_root 已声明但未使用”

我究竟做错了什么?

4

1 回答 1

7

我假设在 types.go 中,您document_root在包范围内声明。如果是这样,问题是这一行:

document_root, error := config.GetString("server", "document_root")

在这里,您无意中创建了函数document_root本地的另一个变量。main你需要写这样的东西:

var err error
document_root, err = config.GetString("server", "document_root")
于 2012-10-11T01:49:51.590 回答