Go - 如何导入其他包内的结构?

REA*_*EE 12 struct go

我试图学习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)