Ich habe versucht Go zu lernen, aber ich fühle mich oft frustriert, weil einige grundlegende Funktionen, die andere Sprachen haben, in Go nicht funktionieren. Also im Grunde möchte ich den Strukturtyp verwenden, der in anderer Datei definiert ist. Ich konnte Funktionen außer Strukturtyp verwenden. In main.go,Go - Wie importiert man eine Struktur, die in einem anderen Paket enthalten ist?
package main
import (
"list"
)
func main() {
lst := list.NewList(false)
lst.Insert(5)
lst.Insert(7)
lst.InsertAt(2, 1)
lst.PrintList()
}
Das funktioniert perfekt (und alle anderen Funktionen), wie ich erwarte, dass (Liste ist in $ GOPATH). In Paketliste I definierte struct wie folgt:
type LinkedList struct {
head *node
size int
isFixed bool
}
Ich wollte diese Struktur in anderer Struktur verwenden, so dass ich versuchte, so etwas zu tun,
type SomeType struct {
lst *LinkedList
}
Aber leider, ich habe Fehler, Der Typ LinkedList ist nicht definiert. Wie kann ich eine Struktur verwenden, die in einem anderen Paket definiert ist?
Does [Dieser Beitrag] (http://stackoverflow.com/a/15051192/2908724) beantworten Ihre Frage? – bishop
Nein. Wie gesagt, alle anderen Funktionen funktionieren, außer dass sie direkt den Strukturtyp verwenden. Und in diesem Beitrag geht es darum, andere Dateien zu importieren. Ich habe keinen Fehler beim Finden des Pakets bekommen. – REALFREE
Solange der Name der Struktur einen ersten Großbuchstaben hat, sollte sie mit dem Namen des Namensraums wie @tobi angezeigt werden. –