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

我尝试学习 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 类型的错误。如何使用在其他包中定义的结构?


哆啦的时光机
浏览 210回答 1
1回答

白板的微信

该LinkedList类型位于list命名空间中,因此将您对该类型的使用更改为:type SomeType struct {    lst *list.LinkedList}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go