我在构建我的 go 项目时遇到一个奇怪的错误。我的结构:-$GOPATH -src -main -main.go -configuration -configuration.go配置.go:package configuration;type Config int;func (c Config) Parse(s string) map[string]string {...}main.gopackage main;import"configuration"func main() { var config Config; argMap := config.parse(...); return;}如果我的工作目录是$GOPATH,我会:go build configuration - no output, OKgo build main imported and not used "configuration" undefined: Config所以我的包被找到($GOPATH/pkg包含configuration.go正确的内容 - 我可以看到该Parse方法)并main导入它,但无法识别其内容?我认为问题是类型Config没有导出?为什么会这样?
2 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
2·1argMap := config.parse(...); 不起作用,因为您声明了一个Parse()方法。
(如“导出方法configuration.Parse()”)
var config configuration.Config
argMap := config.Parse(...);
Config已导出,但方法区分大小写(参见Exported Identifiers)。
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
您正在尝试使用Configfrom package main,它未定义,而不是 from configuration(即错误“已导入但未使用”):
package main
import "configuration"
func main() {
var config configuration.Config
argMap := config.Parse(...)
}
第二个问题是调用 unexportedparse而不是ParseVonC 所解释的。
- 2 回答
- 0 关注
- 203 浏览
添加回答
举报
0/150
提交
取消