Maison > Article > développement back-end > Que signifie la casquette Golang ?
le capuchon sert principalement à permettre à la tranche de fournir une longueur variable.
Imaginez s'il n'y avait pas de casquette, seulement des lentilles. (Apprentissage recommandé : go)
sliceA a une longueur de 10, len=10, et a été rempli d'éléments ; le onzième élément doit maintenant être inséré.
Comment faire
La longueur de la trancheA est étendue à 20, len=20 A ce moment, il y a 11 éléments utiles et 9 postes vacants.
Les seules interfaces que sliceA expose au monde extérieur sont ptr et len=20 À l'heure actuelle, si vous devez insérer un autre élément.
La trancheA doit-elle être étendue ou peut-elle être insérée directement sur la base d'origine ? En même temps, à partir de quel index doit-elle être insérée ?
Ces problèmes peuvent être résolus avec la combinaison de l'objectif et du capuchon.
cap() peut être utilisé pour vérifier la capacité d'un tableau ou d'une tranche
Dans un tableau, la longueur est fixe et immuable, donc len(arr) et cap(arr) Le résultat est toujours le même
Dans slice, len(sli) indique le nombre d'éléments visibles (c'est-à-dire le nombre d'éléments vus en imprimant directement l'élément), et cap (sli) indique le nombre de tous les éléments , par exemple : la fonction
arr := []int{2, 3, 5, 7, 11, 13} sli := arr[1:4] fmt.Println(sli) fmt.Println(len(sli)) fmt.Println(cap(sli))
cap() renvoie la taille de l'espace alloué par la tranche du tableau.
package main import "fmt" func main() { mySlice := make([]int, 5, 10) fmt.Println("len(mySlice):", len(mySlice)) fmt.Println("cap(mySlice):", cap(mySlice)) }
La sortie de ce programme est :
len(mySlice): 5 cap(mySlice): 10
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!