Heim > Backend-Entwicklung > Golang > Wie verwende ich Arrays in Go?

Wie verwende ich Arrays in Go?

王林
Freigeben: 2023-05-11 16:00:40
Original
945 Leute haben es durchsucht

Go ist eine stark typisierte Programmiersprache, die Arrays zum Speichern und Verwalten einer Reihe von Daten bereitstellt. Array ist eine Datenstruktur fester Länge und gleichen Typs, die in Go einfach definiert und verwendet werden kann.

In diesem Artikel untersuchen wir die Verwendung von Arrays in Go und lernen einige gängige Array-Operationen kennen.

Array definieren

Um ein Array in Go zu definieren, müssen wir den Typ und die Länge des Arrays angeben. Die Länge des Arrays muss eine Ganzzahl sein und kann nicht durch Variablen oder Laufzeitberechnungen bestimmt werden.

So definieren Sie ein ganzzahliges Array der Länge 5:

var arr [5]int
Nach dem Login kopieren

Der obige Code erstellt eine Array-Variable namens arr, die 5 ganzzahlige Elemente enthält. Jedes Element wird auf 0 initialisiert. Wir können über den Index auf Elemente im Array zugreifen. Der Indexwert beginnt bei 0 und erreicht eine maximale Array-Länge – 1.

Um das Array zu initialisieren, können wir Folgendes verwenden:

arr := [5]int{1, 2, 3, 4, 5}
Nach dem Login kopieren

Dadurch wird ein ganzzahliges Array der Länge 5 erstellt, wobei die Elemente jeweils auf 1, 2, 3, 4 initialisiert werden , 5.

Wir können auch die Syntax [...] verwenden, um Go automatisch die Länge des Arrays basierend auf den bereitgestellten Elementen berechnen zu lassen, wie unten gezeigt: [...]语法来让Go根据提供的元素自动计算数组的长度,如下所示:

arr := [...]int{1, 2, 3, 4, 5}
Nach dem Login kopieren

上面的代码与之前的代码片段具有相同的效果。

遍历数组

要遍历一个数组,可以使用for循环。以下是一个遍历整数数组并打印每个元素的示例。

arr := [5]int{1, 2, 3, 4, 5}

for i := 0; i < len(arr); i++ {
    fmt.Println(arr[i])
}
Nach dem Login kopieren

在此示例中,我们使用for循环从0到数组的长度,遍历整个数组,然后打印每个元素。

切片

切片是Go中的另一个重要概念,它是一个动态长度的、引用了一个底层数组的数据结构。切片提供了一种方便的方式来处理可变长度的数据,这比使用固定长度的数组更加灵活。

在Go中,可以使用以下方式来创建切片:

arr := []int{1, 2, 3, 4, 5}
Nach dem Login kopieren

与数组不同,切片的长度可以在运行时改变,这就为我们提供了一种方便的方式来处理可变长度的数据。

向切片添加元素

我们可以使用append函数向切片中添加元素。append函数将向切片添加元素,并返回一个新的切片,其中包含了添加后的元素。以下是向切片中添加新元素的示例。

arr := []int{1, 2, 3}
arr = append(arr, 4, 5, 6)
Nach dem Login kopieren

在上面的代码示例中,我们添加了三个新元素到切片中,最终切片的长度变为6。append函数允许一次添加多个元素,每个元素用逗号分隔。

删除切片中的元素

我们可以使用Go中的切片操作符[:]来删除切片中的元素。以下是从切片中删除元素并返回新切片的示例。

arr := []int{1, 2, 3, 4, 5}
arr = append(arr[:2], arr[3:]...)
Nach dem Login kopieren

在上面的示例中,我们使用切片操作符将前两个元素和后两个元素连接起来,这将删除了索引为2的元素,并返回了一个新的长度为4的切片。

复制切片

我们可以使用Go提供的内置copy函数来复制切片。以下是使用copy函数复制切片的示例。

arr := []int{1, 2, 3}
copyArr := make([]int, len(arr))
copy(copyArr, arr)
Nach dem Login kopieren

在上面的示例中,我们先使用make函数创建一个长度与arr相同的空切片,然后使用copy函数将arr中的元素复制到copyArr rrreee#🎜🎜 #Der obige Code hat den gleichen Effekt wie der vorherige Codeausschnitt.

Arrays durchlaufen

Um ein Array zu durchlaufen, können Sie eine for-Schleife verwenden. Hier ist ein Beispiel, das ein Array von Ganzzahlen durchläuft und jedes Element ausgibt.

rrreee#🎜🎜#In diesem Beispiel verwenden wir eine for-Schleife, um von 0 bis zur Länge des Arrays zu gehen, das gesamte Array zu durchlaufen und dann jedes Element zu drucken. #🎜🎜##🎜🎜#Slice#🎜🎜##🎜🎜# Slice ist ein weiteres wichtiges Konzept in Go. Es handelt sich um eine Datenstruktur mit dynamischer Länge, die auf ein zugrunde liegendes Array verweist. Slicing bietet eine bequeme Möglichkeit, Daten variabler Länge zu verarbeiten, die flexibler ist als die Verwendung von Arrays fester Länge. #🎜🎜##🎜🎜#In Go können Sie Slices auf folgende Weise erstellen: #🎜🎜#rrreee#🎜🎜#Im Gegensatz zu Arrays kann die Länge eines Slice zur Laufzeit geändert werden, was uns eine bequeme Möglichkeit bietet um Daten variabler Länge zu verarbeiten. #🎜🎜##🎜🎜#Elemente zum Slice hinzufügen#🎜🎜##🎜🎜#Wir können die Append-Funktion verwenden, um Elemente zum Slice hinzuzufügen. Die Append-Funktion fügt einem Slice Elemente hinzu und gibt ein neues Slice zurück, das die hinzugefügten Elemente enthält. Unten finden Sie ein Beispiel für das Hinzufügen eines neuen Elements zu einem Slice. #🎜🎜#rrreee#🎜🎜#Im obigen Codebeispiel haben wir dem Slice drei neue Elemente hinzugefügt und die endgültige Länge des Slice wurde 6. Die Append-Funktion ermöglicht das gleichzeitige Hinzufügen mehrerer Elemente, jeweils getrennt durch Kommas. #🎜🎜##🎜🎜#Elemente in einem Slice löschen #🎜🎜##🎜🎜# Wir können den Slice-Operator [:] in Go verwenden, um Elemente in einem Slice zu löschen. Das Folgende ist ein Beispiel für das Entfernen eines Elements aus einem Slice und das Zurückgeben eines neuen Slice. #🎜🎜#rrreee#🎜🎜#Im obigen Beispiel verketten wir die ersten beiden Elemente mit den letzten beiden Elementen mithilfe des Slicing-Operators, der das Element mit Index 2 entfernt und eine neue Länge zurückgibt. Ergibt 4 Slices. #🎜🎜##🎜🎜#Slice kopieren#🎜🎜##🎜🎜# Wir können die integrierte Funktion copy von Go verwenden, um das Slice zu kopieren. Im Folgenden finden Sie ein Beispiel für die Verwendung der Funktion copy zum Kopieren eines Slice. #🎜🎜#rrreee#🎜🎜#Im obigen Beispiel verwenden wir zuerst die Funktion make, um ein leeres Slice mit der gleichen Länge wie arr zu erstellen, und verwenden dann copy Die Funktion kopiert die Elemente in arr nach copyArr. #🎜🎜##🎜🎜#Zusammenfassung#🎜🎜##🎜🎜#In diesem Artikel haben wir die Verwendung von Arrays und Slices in Go besprochen. Ein Array ist eine Datenstruktur fester Länge, während ein Slice eine Datenstruktur vom Referenztyp dynamischer Länge ist. Wir haben gesehen, wie man über Arrays iteriert, Elemente zu Slices hinzufügt und entfernt und Slices kopiert. Diese Operationen stellen Go-Programmierern grundlegende Werkzeuge zur Datenverarbeitung zur Verfügung und stellen das Grundwissen dar, das zum Erstellen komplexer Anwendungen erforderlich ist. #🎜🎜#

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage