Initialisation de cartes dans Go : make vs. {}
Dans Go, il existe deux méthodes courantes pour initialiser des cartes : utiliser {} ou faire(). Bien qu'ils aboutissent tous deux à une carte vide, la question se pose de savoir s'il existe une différence de performances entre les deux approches.
Pour étudier cela, créons un test de référence pour comparer les deux techniques d'initialisation :
<code class="go">package main import "testing" var result map[string]int func BenchmarkMakeLiteral(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = map[string]int{} } result = m } func BenchmarkMakeMake(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = make(map[string]int) } result = m } func main() { testing.Benchmark(BenchmarkMakeLiteral) testing.Benchmark(BenchmarkMakeMake) }</code>
L'exécution du test de référence sur différentes machines montre des résultats cohérents, indiquant qu'il n'y a pas de différence de performances significative entre les deux méthodes d'initialisation. {} et make() entraînent des temps d'exécution presque identiques.
En conclusion, bien que les méthodes {} et make() produisent toutes deux une carte vide, il n'y a aucun avantage perceptible en termes de performances lors de l'utilisation de l'une par rapport à l'autre. . Le choix entre les deux peut être basé sur des préférences personnelles ou des exigences spécifiques.
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!