Heim >Backend-Entwicklung >Golang >Wie importiere und verwende ich Strukturen aus verschiedenen Paketen in Go?

Wie importiere und verwende ich Strukturen aus verschiedenen Paketen in Go?

DDD
DDDOriginal
2024-12-09 14:24:18423Durchsuche

How Do I Import and Use Structs from Different Packages in Go?

Strukturen aus verschiedenen Paketen in Go importieren

Bei der Arbeit mit komplexen Anwendungen, die mehrere Pakete und Dateien verwenden, ist es oft notwendig, Datenstrukturen wiederzuverwenden an separaten Orten definiert. In Java ist es unkompliziert, Klassen aus anderen Paketen zu importieren. Go verfolgt jedoch einen anderen Ansatz.

Importieren eines Pakets

Im Gegensatz zu Java importiert Go Typen oder Funktionen nicht direkt. Stattdessen importieren wir Pakete. Eine Importdeklaration ermöglicht uns den Zugriff auf alle exportierten Bezeichner innerhalb dieses Pakets. Zum Beispiel:

import "container/list"

Nach dem Import des Pakets können wir über packagename.Identifiername:

var mylist *list.List = list.New()

Importing Structs

Um eine Struktur zu importieren, die in einem anderen Paket und einer anderen Datei definiert ist, befolgen Sie einfach diese Schritte Schritte:

    Deklarieren Sie eine Variable des gewünschten Typs und initialisieren Sie sie mit der Konstruktorfunktion.
pq := &PriorityQueue{}
    (Optional) Importieren Sie das Paket, das die Struktur enthält falls noch nicht geschehen importiert.
import (
    "path/to/package"
)

Beispiel

Angenommen, wir haben eine PriorityQueue-Struktur in einer separaten Datei definiert:

package path/to/package

type PriorityQueue []*Item

type Item struct {
    value string
    priority int
    index int
}
An Wenn wir diese Struktur in einer anderen Datei verwenden, können wir das Paket importieren und eine PriorityQueue deklarieren Variable:

Das obige ist der detaillierte Inhalt vonWie importiere und verwende ich Strukturen aus verschiedenen Paketen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn