Go中的特殊软件包名称

导入名为的自定义子软件包qp

"pkgname/qp"

编译器抱怨

... imported and not used: "pkgname/qp"
... undefined: qp

所以很显然,软件包名称似乎有问题qp,因为当我将其更改为

qp "pkgname/qp"

错误消失了。

是否有任何“保留”或无效的软件包名称?为什么会这样呢?


慕尼黑的夜晚无繁华
浏览 236回答 3
3回答

慕姐8265434

我猜想qp包中的文件不是以这样的行开头package qp他们可能指定了不同的包名称。导入程序包时,程序包声明中的名称即为该名称。如果与导入路径不匹配,则会出现类似的错误。换句话说,您导入了“ pkgname / qp”,但是编译器将其称为其他名称,因为您在package语句中将其称为其他名称。您没有在代码中引用somethingElse,因此导入未使用。然后,您指的是qp,它在任何地方都没有定义(即使看起来像是这样),因为“ pkgname / qp”没有定义qp。

杨魅力

唯一具有特殊含义的软件包名称是“ main”,“ C”以及以“ _something”结尾的软件包(测试和特定于平台的代码)。您应该显示您声称由于名称而导致错误的代码。

摇曳的蔷薇

软件包名称qp为有效。例如,package mainimport "fmt"import "local/qp"func main() { fmt.Println(qp.QP()) }编译并运行而没有错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go