Ein Paket ist eine Sammlung von Funktionen und Daten. Verwenden Sie das Schlüsselwort package, um ein Paket zu definieren.
wird hauptsächlich zum Organisieren des Go-Quellcodes verwendet, um eine bessere Wiederverwendbarkeit und Lesbarkeit zu gewährleisten. Da Pakete eine Kapselung des Codes ermöglichen, erleichtern sie die Wartung von Go-Anwendungen.
Erstellen Sie unten eine Instanz eines benutzerdefinierten Pakets
Erstellen Sie das Verzeichnis pac zum Speichern des Pakets
mkdir -p $GOPATH/src/test/pac cd $GOPATH/src/test/pac
Erstellen Sie eine neue Datei pac.go
package pac import "fmt" func Printstr(x string) { fmt.Println(x + " is pac") }
Dies Um die Wartung zu vereinfachen, sollten der Paketname und der Verzeichnisname konsistent sein.
Erstellen Sie ein neues demo.go, um das angepasste Paket aufzurufen
Erstellen Sie es im Verzeichnis $GOPATH/src/test
package main import "pac" func main() { pac.Printstr("this") }
Führen Sie
go run demo.go
Ausgabe aus das ist pac , hat sich als erfolgreich erwiesen
Im obigen Beispiel befinden sich die importierte Datei demo.go und die Paketdatei pac.go nicht im selben Verzeichnis und gehören nicht zum selben Paket. Wie greife ich also auf zwei Dateien zu, die zum selben Paket gehören und sich im selben Verzeichnis befinden? Siehe das Beispiel unten.
Erstellen Sie pac2.go
Im Verzeichnis $GOPATH/src/test/pac
package pac import "fmt" func printstr2 (x string) { fmt.Println(x + " is pac2") }
Ändern Sie pac.go und lassen Sie pac.go pac2.go aufrufen
package pac func Printstr(x string) { //fmt.Println(x + " is pac") printstr2(x) }
Führen Sie demo.go aus
go run demo.go
Ausgabeergebnis: Dies ist pac2
Zusammenfassung
1. Wenn sich das Projektverzeichnis nicht im von der GOPATH-Umgebung festgelegten Pfad befindet Variable, Sie müssen das Projekt in den GOPATH-Pfad verschieben oder den Projektpfad im GOPATH festlegen; andernfalls wird Folgendes gemeldet:
demo.go:3:8: cannot find package "pac" in any of: /usr/lib/golang/src/pac (from $GOROOT) /home/go/src/pac (from $GOPATH)
2. Die Importanweisung verwendet den Namen des Ordners.
3. Der erste Buchstabe des Funktionsnamens in der Paketdatei wird großgeschrieben, damit er extern aufgerufen werden kann. Wenn alle Dateien im selben Paket aufeinander zugreifen, spielt es keine Rolle, ob der erste Buchstabe des Funktionsnamens groß oder klein geschrieben ist.
4. Das Hauptpaket kann nicht auf dasselbe Verzeichnis oder andere Dateien im selben Hauptpaket zugreifen.
5. Der Name des Ordners und der Name des Pakets sind nicht unbedingt identisch. Aus Gründen der Wartungsfreundlichkeit wird empfohlen, konsistent zu sein.
6. Verwenden Sie den Paketnamen und den Funktionsnamen, um ein benutzerdefiniertes Paket aufzurufen, wie im obigen Beispiel:
pac.Printstr("this")
Weitere Informationen zu diesem Thema finden Sie im go-Sprach-Tutorial Spalte
Das obige ist der detaillierte Inhalt vonSo passen Sie Pakete in der Go-Sprache an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!