我試圖學習Go,但我經常感到沮喪,因爲其他語言的某些基本功能似乎在Go中不起作用。所以基本上,我想使用在其他文件中定義的結構類型 。我能夠使用除了結構類型的函數。在main.go中,Go - 如何導入其他包內部的結構?
package main
import (
"list"
)
func main() {
lst := list.NewList(false)
lst.Insert(5)
lst.Insert(7)
lst.InsertAt(2, 1)
lst.PrintList()
}
這可以完美地(和所有其他函數)按我期望的那樣工作(列表在$ GOPATH中)。在包列表中,我定義的結構如下:
type LinkedList struct {
head *node
size int
isFixed bool
}
我想利用這個結構中其他結構,所以我試圖做這樣的事情,
type SomeType struct {
lst *LinkedList
}
但不幸的是,我得到了錯誤類型LinkedList沒有被定義。我如何使用其他包中定義的結構?
確實[此帖](http://stackoverflow.com/a/15051192/2908724)回答您的題? – bishop
不是。正如我所說,除了直接使用結構類型外,其他所有函數都可以工那篇文章是關於導入其他文件的,我沒有得到任何關於查找包的錯誤。 – REALFREE
只要結構的名稱具有大寫的第一個字母,就應該使用名稱空間名稱(如@tobi所示)來訪問它。 –