Maison >développement back-end >Golang >`make([]int, 0) vs. []int{} vs. nil : quelle est la meilleure façon d'initialiser une tranche vide dans Go ?`
Dévoilement de la méthode optimale pour initialiser une tranche vide
Lors de la déclaration d'une tranche vide de taille flexible, la question se pose : Quelle est la approche d'initialisation préférée - make([]int, 0) ou []int{}?
Les deux options conduisent sémantiquement à résultats identiques. Cependant, make([]int, 0) déclenche un appel interne à runtime.makeslice dans Go 1.16.
Alternativement, vous pouvez opter pour une valeur nulle :
var myslice []int
Comme indiqué dans Sur le blog Golang.org, une tranche nulle fonctionne comme une tranche de longueur nulle même si elle ne pointe vers rien. Sa longueur est nulle et il permet l'ajout avec allocation.
Cependant, notez qu'une tranche nulle est sérialisée comme "null" en JSON, tandis qu'une tranche vide est rendue comme "[]".
Quelle que soit la méthode choisie, aucune ne déclenchera une allocation de mémoire, comme le précise @ArmanOrdookhani.
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!