从另一个包导入struct和文件golang
我在尝试从另一个包和文件导入类型时遇到问题。我要导入的结构是下面的那个。
type PriorityQueue []*Itemtype Item struct {
value string
priority int
index int
}
如果我将PriorityQueue及其所有方法放在同一个文件中,则可以使用
pq:= &PriorityQueue{}
我一直在像疯子一样在互联网上搜索这个简单问题的答案,但我没有找到答案。我通常用Java编程,而导入类是如此基础。
回答:
在Go中,您不导入类型或函数,而是导入 包
(请参见Spec:导入声明)。
导入声明示例:
import "container/list"
通过导入包,您可以访问其所有 导出的 标识符,并且可以将它们称为packagename.Identifiername
,例如:
var mylist *list.List = list.New()// Or simply:
l := list.New()
导入声明中有一些技巧,例如:
import m "container/list"
您可以使用引用导出的标识符"m.Identifiername"
,例如
l := m.New()
也可以这样做:
import . "container/list"
您可以完全省略软件包名称:
l := New()
但是仅在“紧急情况下”或发生名称冲突(这种情况很少发生)时才使用。
以上是 从另一个包导入struct和文件golang 的全部内容, 来源链接: utcz.com/qa/426066.html