我尝试学习Go,但是我经常感到沮丧,因为其他语言似乎无法在Go中使用某些基本功能。因此,基本上,我想使用在其他文件中定义的结构类型。我能够使用结构类型以外的功能。在main.go中,
package main import ( "list" ) func main() { lst := list.NewList(false) lst.Insert(5) lst.Insert(7) lst.InsertAt(2, 1) lst.PrintList() }
正如我所期望的那样,它可以完美运行(以及所有其他功能)(列表位于$ GOPATH中)。在软件包列表中,我将struct定义如下:
type LinkedList struct { head *node size int isFixed bool }
我想在其他结构中使用此结构,所以我尝试做这样的事情,
type SomeType struct { lst *LinkedList }
但不幸的是,我收到未定义LinkedList类型的错误消息。如何使用其他包中定义的结构?
该LinkedList类型位于list名称空间中,因此将对类型的用法更改为:
LinkedList
list
type SomeType struct { lst *list.LinkedList }