我试图学习Go但我经常感到沮丧,因为其他语言的一些基本功能似乎在Go中不起作用。所以基本上,我想使用结构类型 在其他文件中定义。我能够使用除struct类型之外的函数。在main.go中,
package main
import (
"list"
)
func main() {
lst := list.NewList(false)
lst.Insert(5)
lst.Insert(7)
lst.InsertAt(2, 1)
lst.PrintList()
}
这完全符合我的预期(以及所有其他函数)(list在$ GOPATH中)。在包列表中,我将struct定义如下:
type LinkedList struct {
head *node
size int
isFixed bool
}
我想在其他结构中使用这个结构,所以我试图做这样的事情,
type SomeType struct {
lst *LinkedList
}
但不幸的是,我收到了未定义LinkedList类型的错误。如何使用其他包中定义的结构?
答案 0 :(得分:24)
LinkedList
类型位于list
命名空间中,因此请将类型的用法更改为:
type SomeType struct {
lst *list.LinkedList
}