我正在Go中进行一个项目。对于组织,我将代码拆分为多个文件:
- 服务器相关功能进入server.go
- 数据库处理进入db.go
- 全局变量的类型为。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已声明但未使用">
我做错了什么?
我假设在types.go中,您在包作用域中声明document_root
。如果是这样,问题就出在这一行:
document_root, error := config.GetString("server", "document_root")
在这里,您无意中创建了main
函数本地的另一个document_root
变量。你需要写这样的东西:
var err error
document_root, err = config.GetString("server", "document_root")