为了账号安全,请及时绑定邮箱和手机立即绑定

Go中的特殊软件包名称

Go中的特殊软件包名称

Go
慕尼黑的夜晚无繁华 2021-05-20 16:15:10
导入名为的自定义子软件包qp时"pkgname/qp"编译器抱怨... imported and not used: "pkgname/qp" ... undefined: qp所以很显然,软件包名称似乎有问题qp,因为当我将其更改为qp "pkgname/qp"错误消失了。是否有任何“保留”或无效的软件包名称?为什么会这样呢?
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

我猜想qp包中的文件不是以这样的行开头

package qp

他们可能指定了不同的包名称。导入程序包时,程序包声明中的名称即为该名称。如果与导入路径不匹配,则会出现类似的错误。

换句话说,您导入了“ pkgname / qp”,但是编译器将其称为其他名称,因为您在package语句中将其称为其他名称。您没有在代码中引用somethingElse,因此导入未使用。然后,您指的是qp,它在任何地方都没有定义(即使看起来像是这样),因为“ pkgname / qp”没有定义qp。


查看完整回答
反对 回复 2021-05-31
?
杨魅力

TA贡献1811条经验 获得超6个赞

唯一具有特殊含义的软件包名称是“ main”,“ C”以及以“ _something”结尾的软件包(测试和特定于平台的代码)。

您应该显示您声称由于名称而导致错误的代码。


查看完整回答
反对 回复 2021-05-31
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

软件包名称qp为有效。例如,


package main


import "fmt"


import "local/qp"


func main() { fmt.Println(qp.QP()) }

编译并运行而没有错误。


查看完整回答
反对 回复 2021-05-31
  • 3 回答
  • 0 关注
  • 235 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信