我在构建我的 go 项目时遇到了一个奇怪的错误。
我的结构:
-$GOPATH
-src
-main
-main.go
-configuration
-configuration.go
配置.go:
package configuration;
type Config int;
func (c Config) Parse(s string) map[string]string {...}
主.go
package main;
import"configuration"
func main() {
var config Config;
argMap := config.parse(...);
return;
}
如果我的工作目录是 $GOPATH
,我会:
go build configuration - no output, OK
go build main
imported and not used "configuration"
undefined: Config
所以找到了我的包($GOPATH/pkg
包含具有正确内容的 configuration.go
- 我可以看到 Parse
方法)和main
导入它,但无法识别其内容?
我发现问题是 Config
类型没有导出?为什么会这样?
最佳答案
您正在尝试使用未定义的包 main
中的 Config
,而不是来自 configuration
的Config
(这就是错误“进口但未使用”):
package main
import "configuration"
func main() {
var config configuration.Config
argMap := config.Parse(...)
}
第二个问题是调用未导出的 parse
而不是 VonC 解释的 Parse
。
关于go - 找到包裹但找不到内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26956107/