Maison > développement back-end > Golang > Comment utiliser les tableaux dans Go ?

Comment utiliser les tableaux dans Go ?

王林
Libérer: 2023-05-11 16:00:40
original
949 Les gens l'ont consulté

Go est un langage de programmation fortement typé qui fournit des tableaux pour stocker et gérer une série de données. Un tableau est une structure de données de longueur fixe et de même type qui peut être facilement définie et utilisée dans Go.

Dans cet article, nous explorerons comment utiliser les tableaux dans Go et découvrirons certaines opérations courantes sur les tableaux.

Définir un tableau

Pour définir un tableau dans Go, nous devons spécifier le type et la longueur du tableau. La longueur du tableau doit être un nombre entier et ne peut pas être déterminée par des variables ou des calculs d'exécution.

Voici comment définir un tableau d'entiers de longueur 5 :

var arr [5]int
Copier après la connexion

Le code ci-dessus crée une variable de tableau appelée arr qui comporte 5 éléments entiers, chaque élément est initialisé à 0. Nous pouvons accéder aux éléments du tableau par index. La valeur de l'index commence à 0 et atteint une longueur maximale du tableau - 1.

Pour initialiser le tableau, nous pouvons utiliser ce qui suit :

arr := [5]int{1, 2, 3, 4, 5}
Copier après la connexion

Cela créera un tableau d'entiers de longueur 5, avec des éléments initialisés à 1, 2, 3, 4, 5 respectivement.

Nous pouvons également utiliser la syntaxe [...] pour laisser Go calculer automatiquement la longueur du tableau en fonction des éléments fournis, comme indiqué ci-dessous : [...]语法来让Go根据提供的元素自动计算数组的长度,如下所示:

arr := [...]int{1, 2, 3, 4, 5}
Copier après la connexion

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

遍历数组

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

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

for i := 0; i < len(arr); i++ {
    fmt.Println(arr[i])
}
Copier après la connexion

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

切片

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

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

arr := []int{1, 2, 3, 4, 5}
Copier après la connexion

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

向切片添加元素

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

arr := []int{1, 2, 3}
arr = append(arr, 4, 5, 6)
Copier après la connexion

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

删除切片中的元素

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

arr := []int{1, 2, 3, 4, 5}
arr = append(arr[:2], arr[3:]...)
Copier après la connexion

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

复制切片

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

arr := []int{1, 2, 3}
copyArr := make([]int, len(arr))
copy(copyArr, arr)
Copier après la connexion

在上面的示例中,我们先使用make函数创建一个长度与arr相同的空切片,然后使用copy函数将arr中的元素复制到copyArrrrreee

Le code ci-dessus a le même effet comme l'extrait de code précédent Effect.

Parcours d'un tableau

Pour parcourir un tableau, vous pouvez utiliser une boucle for. Voici un exemple qui parcourt un tableau d'entiers et imprime chaque élément. 🎜rrreee🎜Dans cet exemple, nous utilisons une boucle for pour passer de 0 à la longueur du tableau, parcourir tout le tableau, puis imprimer chaque élément. 🎜🎜Slice🎜🎜Slice est un autre concept important dans Go. Il s'agit d'une structure de données de longueur dynamique qui fait référence à un tableau sous-jacent. Le découpage constitue un moyen pratique de gérer des données de longueur variable, qui est plus flexible que l'utilisation de tableaux de longueur fixe. 🎜🎜Dans Go, vous pouvez créer des tranches en utilisant : 🎜rrreee🎜Contrairement aux tableaux, la longueur d'une tranche peut être modifiée au moment de l'exécution, ce qui nous offre un moyen pratique de gérer des données de longueur variable. 🎜🎜Ajouter des éléments à une tranche🎜🎜Nous pouvons ajouter des éléments à une tranche en utilisant la fonction d'ajout. La fonction append ajoute des éléments à une tranche et renvoie une nouvelle tranche contenant les éléments ajoutés. Vous trouverez ci-dessous un exemple d'ajout d'un nouvel élément à une tranche. 🎜rrreee🎜Dans l'exemple de code ci-dessus, nous avons ajouté trois nouveaux éléments à la tranche et la longueur finale de la tranche est devenue 6. La fonction append permet d'ajouter plusieurs éléments à la fois, chacun séparé par des virgules. 🎜🎜Supprimer des éléments dans une tranche🎜🎜Nous pouvons utiliser l'opérateur de tranche [:] dans Go pour supprimer des éléments dans une tranche. Vous trouverez ci-dessous un exemple de suppression d'un élément d'une tranche et de renvoi d'une nouvelle tranche. 🎜rrreee🎜 Dans l'exemple ci-dessus, nous concaténons les deux premiers éléments avec les deux derniers éléments à l'aide de l'opérateur slice, qui supprime l'élément d'index 2 et renvoie une nouvelle tranche de longueur 4. 🎜🎜Copier des tranches🎜🎜Nous pouvons utiliser la fonction intégrée copie fournie par Go pour copier des tranches. Ce qui suit est un exemple d'utilisation de la fonction copy pour copier une tranche. 🎜rrreee🎜Dans l'exemple ci-dessus, nous utilisons d'abord la fonction make pour créer une tranche vide de la même longueur que arr, puis utilisons la copie fonction code> dans Les éléments de <code>arr sont copiés dans copyArr. 🎜🎜Résumé🎜🎜Dans cet article, nous avons expliqué comment utiliser les tableaux et les tranches dans Go. Un tableau est une structure de données de longueur fixe, tandis qu'une tranche est une structure de données de type référence de longueur dynamique. Nous avons appris à parcourir des tableaux, à ajouter et supprimer des éléments dans des tranches et à copier des tranches. Ces opérations fournissent aux programmeurs Go des outils de base pour traiter les données et constituent les connaissances de base nécessaires pour créer des applications complexes. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal