Maison  >  Article  >  développement back-end  >  Parlons de la façon d'utiliser la méthode de découpage du golang

Parlons de la façon d'utiliser la méthode de découpage du golang

PHPz
PHPzoriginal
2023-03-29 11:26:34624parcourir

Les tranches en langage Go (golang) sont des tableaux dynamiques qui peuvent s'agrandir et se réduire automatiquement. Une tranche est une structure qui encapsule un pointeur vers le tableau sous-jacent, le nombre d'éléments et la capacité.

Étant donné que l'implémentation du découpage est basée sur le tableau sous-jacent, les opérations de découpage dépendent en grande partie du tableau sous-jacent. Dans cet article, nous aborderons certaines méthodes de découpage courantes et leur utilisation.

  1. Créer une tranche

Tout d'abord, nous devons créer une tranche. Il existe deux manières de créer des tranches : en utilisant la fonction make et la déclaration directe.

Utilisez la fonction make :

a := make([]int, 5) //Créez une tranche entière de longueur 5

La fonction make accepte deux paramètres : le premier paramètre est le type de l'élément slice, et le deuxième paramètre est le type de l'élément slice. Les deux paramètres sont la longueur de la tranche. Si vous souhaitez préciser la capacité, vous pouvez passer le troisième paramètre :

b := make([]string, 5, 10) //Créer une tranche de chaîne d'une longueur de 5 et d'une capacité de 10

Déclarer directement :

c := []int{1, 2, 3, 4, 5} //Créez une tranche entière contenant 5 éléments

Notez que la longueur et la capacité de la tranche ainsi créée sont égales.

  1. Accès aux tranches

L'accès aux éléments de tranche par index est le même que pour les tableaux. Par exemple, pour accéder au premier élément, vous pouvez faire comme ceci :

fmt.Println(c[0])

  1. Modification des tranches

Les tranches étant mutables, nous pouvons modifier les éléments qu'elles contiennent par index Valeur :

c[0] = 10 //Changez le premier élément en 10

  1. Ajouter à la tranche

Utilisez la méthode d'ajout de la tranche pour ajouter des éléments à la tranche. Si la capacité de la tranche n'est pas suffisamment grande pour accueillir tous les éléments, elle s'agrandira automatiquement.

Par exemple, on peut ajouter des éléments à la fin de la tranche en utilisant la méthode suivante :

c = append(c, 6, 7, 8) //Ajouter 3 éléments à la fin de la tranche

Lors de l'ajout d'un seul élément, on peut faire ceci Ecrire :

c = append(c, 9) //Ajouter un élément à la fin de la tranche

  1. Copie de la tranche

La tranche peut être copiée à l'aide de la fonction de copie. Le premier paramètre de la fonction de copie est la tranche cible et le deuxième paramètre est la tranche source.

Par exemple :

d := make([]int, len(c))
copy(d, c)

  1. Interception de tranches

Utilisez la forme [start:end] des tranches pour intercepter les tranches et obtenez une nouvelle tranche. start représente la position de départ (intervalle fermé) à intercepter et end représente la position finale (intervalle ouvert).

Par exemple :

e := c[2:5] //Intercepte la tranche contenant le troisième au cinquième élément

Si start est omis, la valeur par défaut est 0 si end est omise, la longueur par défaut est ; la tranche.

  1. Suppression de tranches

Il n'existe aucun moyen direct de supprimer des éléments de tranche dans Go. Cependant, nous pouvons supprimer des éléments indirectement en reconstruisant une nouvelle tranche.

Par exemple, nous pouvons utiliser le code suivant pour supprimer le troisième élément :

f := append(c[:2], c[3:]...)

De cette façon, f est une nouvelle tranche où les trois éléments ont été supprimés.

Résumé

Le découpage est un type de données très puissant, qui peut nous aider à exploiter les données plus facilement. Dans cet article, nous présentons quelques méthodes courantes d'opération de tranche, notamment la création, l'accès, la modification, l'ajout, la copie, l'interception et la suppression. Si vous souhaitez maîtriser le slicing dans le langage Go, vous pouvez approfondir vos connaissances en lisant la documentation officielle.

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!

Déclaration:
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