Maison > Article > développement back-end > utilisation de la tranche de golang
Golang est un langage de programmation très utilisé, et sa simplicité et son efficacité ont séduit de plus en plus de développeurs. Le type Slice est également l'une des structures de données couramment utilisées dans Golang. Il prend non seulement en charge la croissance dynamique, mais implémente également les opérations de découpage. Cet article présentera l'utilisation de Slice en détail.
1. Qu'est-ce que Slice ?
En Golang, Slice peut être compris comme un tableau dynamique. Par rapport aux tableaux statiques, Slice est plus flexible et peut automatiquement augmenter et réduire la capacité, éliminant ainsi les restrictions sur la taille de la capacité et améliorant considérablement la flexibilité et la réutilisabilité du code.
Une Slice contient trois éléments importants, à savoir le pointeur du tableau sous-jacent, la longueur et la capacité. La longueur représente le nombre d'éléments stockés dans la Slice et la capacité représente le nombre maximum d'éléments que la Slice peut stocker.
2. Création et initialisation de Slice
Dans Golang, vous pouvez le créer et l'initialiser via la fonction make ou utiliser directement le littéral Slice.
1. Créez une tranche via la fonction make.
La fonction make a trois paramètres, à savoir le type de tranche, la longueur et la capacité. Parmi eux, la longueur doit être précisée, mais la capacité est facultative. Lorsque la capacité n'est pas spécifiée, la capacité par défaut est la même que la longueur.
Exemple de code :
s := make([]int, 5) // 创建一个初始值为 0,长度为 5,容量为 5 的 Slice s := make([]int, 5, 10) // 创建一个初始值为 0,长度为 5,容量为 10 的 Slice
2 Utilisez le littéral Slice pour créer Slice.
Les littéraux de tranche sont entourés de crochets, avec des virgules séparant chaque valeur.
Exemple de code :
s := []int{1, 2, 3, 4, 5} // 创建一个包含 1,2,3,4,5 的 Slice
3. Opérations de tranche
1.
Comme les tableaux, vous pouvez utiliser des indices pour accéder aux éléments dans Slice.
Exemple de code :
s := []int{1, 2, 3, 4, 5} fmt.Println(s[0]) // 打印 Slice 中的第一个元素
Slice prend en charge les opérations de modification, mais il convient de noter que les modifications apportées à Slice affecteront le tableau sous-jacent et les autres Slices qui font référence au tableau sous-jacent.
Exemple de code :
s := []int{1, 2, 3, 4, 5} s[0] = 6 // 将 Slice 中的第一个元素修改为 6
2.
Pour ajouter des éléments à Slice, vous pouvez utiliser la fonction intégrée append. Cette fonction renverra une nouvelle Slice, laissant la Slice d'origine inchangée.
Exemple de code :
s := []int{1, 2, 3, 4, 5} s = append(s, 6) // 在 Slice 中追加一个元素 6
La suppression d'un élément de Slice est également implémentée via la fonction append, et vous devez utiliser l'opération de découpage pour exclure l'élément à supprimer.
Exemple de code :
s := []int{1, 2, 3, 4, 5} s = append(s[:2], s[3:]...) // 删除 Slice 中的第三个元素,这里使用了切片操作
3.
Comme les tableaux, Slice prend également en charge les opérations de découpage. Le découpage consiste à "couper" la Slice d'origine, à intercepter une partie des éléments continus et à obtenir une nouvelle Slice.
La syntaxe de l'opération slice est slice[low:high], où slice représente la tranche à trancher, low et high représentent la position de la tranche, mais n'inclut pas l'élément high.
Exemple de code :
s := []int{1, 2, 3, 4, 5} slice := s[1:3] // 返回 [2, 3]
4 Expansion et réduction de Slice
Lors de l'utilisation de Slice, la capacité du tableau sous-jacent affectera son efficacité et performance . Lorsque la capacité de la Slice est insuffisante, elle doit être étendue ; lorsque la capacité est trop grande, elle peut être réduite pour économiser de l'espace mémoire.
Le processus d'expansion est que lorsque la capacité de Slice est insuffisante, un nouveau tableau sous-jacent sera créé, la longueur et la capacité sont généralement 2 fois supérieures à l'original, puis tous les éléments du Slice d'origine seront être copié dans le nouveau tableau du milieu.
Exemple de code :
s := make([]int, 5, 10) s = append(s, 6) // 在 Slice 中追加一个元素 6
Le processus de réduction consiste à utiliser l'opération de découpage pour spécifier que la longueur du tableau sous-jacent est la même que la longueur de la tranche, réduisant ainsi la capacité .
Exemple de code :
s := []int{1, 2, 3, 4, 5} s = s[:3] // 缩减 Slice 的容量为 3
5. Résumé
Cet article détaille la création, l'initialisation, l'accès, la modification, l'ajout et la suppression de Slice dans Golang, opérations de découpage, d'expansion et de réduction. Maîtriser l'utilisation de Slice peut améliorer considérablement la flexibilité et l'efficacité du code, et aider à développer des applications frontales, back-end et mobiles Golang de haute qualité. J'espère que grâce à l'introduction de cet article, les lecteurs auront une compréhension et une application plus approfondies du type Slice dans Golang.
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!