我在構建我的 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 關注
- 220 瀏覽
添加回答
舉報
0/150
提交
取消