我试图学习Go但我经常感到沮丧,因为其他语言的一些基本功能似乎在Go中不起作用.所以基本上,我想使用在其他文件中定义的struct类型.我能够使用除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()
}
Run Code Online (Sandbox Code Playgroud)
这完全(和所有其他功能)完全符合我的预期(列表在$ GOPATH中).在包列表中,我将struct定义如下:
type LinkedList struct {
head *node
size int
isFixed bool
}
Run Code Online (Sandbox Code Playgroud)
我想在其他结构中使用这个结构,所以我试图做这样的事情,
type SomeType struct {
lst *LinkedList
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我得到了没有定义LinkedList类型的错误.如何使用其他包中定义的结构?
tle*_*man 24
该LinkedList类型的list命名空间,因此改变你的类型的用法:
type SomeType struct {
lst *list.LinkedList
}
Run Code Online (Sandbox Code Playgroud)