Maison > développement back-end > Golang > le corps du texte

Que signifie la casquette Golang ?

(*-*)浩
Libérer: 2019-12-03 09:13:10
original
4900 Les gens l'ont consulté

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))
Copier après la connexion

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)) 
}
Copier après la connexion

La sortie de ce programme est :

len(mySlice): 5
cap(mySlice): 10
Copier après la connexion

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