Lassen Sie uns darüber sprechen, wie man Arrays in Golang verwendet

PHPz
Freigeben: 2023-03-30 09:47:35
Original
598 Leute haben es durchsucht

Golang ist eine weit verbreitete Programmiersprache, die effizient, einfach und zuverlässig ist. Unter diesen ist Array ein grundlegender Datentyp in Golang, der zum Speichern einer Reihe von Daten desselben Typs dient. In diesem Artikel stellen wir die Verwendung von Golang-Arrays vor.

  1. Arrays erstellen

Arrays in Golang werden mit dem Operator [] deklariert, und die Länge und der Typ des Arrays können bei der Deklaration angegeben werden. Der folgende Code deklariert beispielsweise ein Array vom Typ int mit einer Länge von 5: [] 运算符声明,可以在声明时指定数组的长度和类型。例如,以下代码声明了一个长度为 5 的 int 类型数组:

var arr [5]int
Nach dem Login kopieren

也可以使用简短的声明方式:

arr := [5]int{}
Nach dem Login kopieren
  1. 初始化数组

Golang 中的数组可以通过两种方式进行初始化:

  1. 指定每个元素的值:例如,以下代码为数组中的每个元素指定了一个值:
arr := [5]int{1, 2, 3, 4, 5}
Nach dem Login kopieren
  1. 省略长度并使用一组值初始化数组:以下代码声明一个长度未确定的数组,并使用 3 个值进行初始化:
arr := [...]int{1, 2, 3}
Nach dem Login kopieren
  1. 访问数组

要访问 Golang 数组中的元素,请使用 [] 运算符和元素的索引。例如,以下代码打印数组中的第一个元素:

arr := [5]int{1, 2, 3, 4, 5}
fmt.Println(arr[0]) // 输出:1
Nach dem Login kopieren
  1. 数组长度

可以通过调用 len 函数获取数组的长度。例如,以下代码获取数组的长度并打印出来:

arr := [...]int{1, 2, 3}
fmt.Println(len(arr)) // 输出:3
Nach dem Login kopieren
  1. 遍历数组

可以通过循环遍历 Golang 数组中的每个元素。例如,以下代码使用 for 循环遍历数组并打印每个元素:

arr := [5]int{1, 2, 3, 4, 5}
for i := 0; i < len(arr); i++ {
    fmt.Println(arr[i])
}
Nach dem Login kopieren
  1. 作为函数参数

Golang 中的数组可以作为函数的参数传递。例如,以下代码定义了一个函数,它接受一个数组和一个整数参数,并将整数加到数组的每个元素中:

func addNums(arr [5]int, num int) [5]int {
    for i := 0; i < len(arr); i++ {
        arr[i] += num
    }
    return arr
}

arr := [5]int{1, 2, 3, 4, 5}
arr = addNums(arr, 2)
fmt.Println(arr) // 输出:[3 4 5 6 7]
Nach dem Login kopieren

需要注意的是,当数组作为函数参数传递时,会将整个数组复制到函数的形参中。这可能会导致性能问题,特别是在 大型数组的情况下。针对这个问题, Golang 支持指向数组的指针,可以将指针作为参数传递,可以避免数组复制的问题。

  1. 数组切片

在 Golang 中,数组切片是一个基于现有数组的动态数组,它具有可变长度。可以通过使用 make 函数来创建一个空的数组切片。例如,以下代码声明了一个空的字符串数组切片:

var s []string
Nach dem Login kopieren

也可以使用以下语法声明包含初始元素的切片:

s := []string{"foo", "bar", "baz"}
Nach dem Login kopieren

可以使用内置的 append

s := []string{"foo", "bar", "baz"}
s = append(s, "qux")
fmt.Println(s) // 输出:[foo bar baz qux]
Nach dem Login kopieren
Sie können auch eine kurze Deklaration verwenden:

s := []string{"foo", "bar", "baz", "qux", "quux"}
s = s[1:4] // 从 "1" 开始,到 "4" 之前
fmt.Println(s) // 输出:[bar baz qux]
Nach dem Login kopieren
    Initialisieren Sie das Array
    1. Golang-Arrays in können auf zwei Arten initialisiert werden:

    Geben Sie einen Wert für jedes Element an: Der folgende Code gibt beispielsweise einen Wert für jedes Element im Array an: 🎜🎜rrreee
      🎜 Länge weggelassen und das Array mit einer Reihe von Werten initialisiert: Der folgende Code deklariert ein Array unbestimmter Länge und initialisiert es mit 3 Werten: 🎜🎜rrreee
        🎜Zugriff auf das Array🎜🎜🎜Zugriff auf das Array Verwenden Sie im Golang-Element den Operator [] und den Index des Elements. Der folgende Code gibt beispielsweise das erste Element im Array aus: 🎜rrreee
          🎜Array-Länge🎜🎜🎜Sie können die Länge des Arrays ermitteln, indem Sie die Funktion len aufrufen . Der folgende Code ruft beispielsweise die Länge eines Arrays ab und gibt sie aus: 🎜rrreee
            🎜Durchlaufen eines Arrays🎜🎜🎜Sie können jedes Element in einem Golang-Array durch Schleifen durchlaufen. Der folgende Code verwendet beispielsweise eine for-Schleife, um ein Array zu durchlaufen und jedes Element auszugeben: 🎜rrreee
              🎜Als Funktionsparameter🎜🎜🎜Arrays in Golang können als Argumente an Funktionen übergeben werden. Der folgende Code definiert beispielsweise eine Funktion, die ein Array und einen Ganzzahlparameter akzeptiert und die Ganzzahl zu jedem Element des Arrays hinzufügt: 🎜rrreee🎜Es ist wichtig zu beachten, dass bei der Übergabe eines Arrays als Funktionsparameter das gesamte Array wird hinzugefügt und in die formalen Parameter der Funktion kopiert. Dies kann insbesondere bei großen Arrays zu Leistungsproblemen führen. Um dieses Problem zu lösen, unterstützt Golang Zeiger auf Arrays, die als Parameter übergeben werden können, um das Problem des Array-Kopierens zu vermeiden. 🎜
                🎜Array Slice🎜🎜🎜In Golang ist ein Array Slice ein dynamisches Array basierend auf einem vorhandenen Array, das eine variable Länge hat. Mit der Funktion make kann ein leeres Array-Slice erstellt werden. Der folgende Code deklariert beispielsweise ein leeres String-Array-Slice: 🎜rrreee🎜 Sie können auch ein Slice mit Anfangselementen mithilfe der folgenden Syntax deklarieren: 🎜rrreee🎜 Sie können Elemente zu einem Slice hinzufügen, indem Sie den integrierten append Funktion. Der folgende Code fügt beispielsweise einem Slice eine neue Zeichenfolge hinzu: 🎜rrreee🎜 Ein Slice kann mit der folgenden Syntax segmentiert werden: 🎜rrreee🎜🎜 Zusammenfassung 🎜🎜🎜Golang-Array ist ein leistungsstarker Datentyp, der effizient, einfach und effizient ist Zuverlässige Funktionen. In diesem Artikel haben Sie gelernt, wie Sie ein Array deklarieren und initialisieren, auf Array-Elemente zugreifen, die Array-Länge ermitteln und Arrays als Funktionsparameter übergeben. Darüber hinaus wird auch das dynamische Array-Slicing in Golang vorgestellt und erklärt, wie man ein leeres Slice erstellt, dem Slice Elemente hinzufügt und wie man Slicing-Vorgänge für das Slice durchführt. Wenn Sie diese Fähigkeiten beherrschen, können Sie Arrays besser nutzen. 🎜

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie man Arrays in Golang verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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