Initialisation des cartes dans Go : make vs. {}
Dans Go, les cartes peuvent être initialisées en utilisant soit la syntaxe littérale {}, soit la faire fonctionner. Cet article compare les performances de ces deux approches.
Différences de performances
Les tests de référence suggèrent qu'il existe une différence de performances négligeable entre l'initialisation d'une carte à l'aide de {} ou de make. Les résultats peuvent varier légèrement en fonction de la taille de l'ensemble de données et des spécifications de la machine, mais en général, les deux méthodes fonctionnent de manière équivalente.
Code de référence
Le code suivant définit deux fonctions de référence, BenchmarkMakeLiteral et BenchmarkMakeMake, qui comparent les performances d'initialisation d'une carte à l'aide respectivement du littéral {} et de la fonction make :
<code class="go">package main import "testing" func BenchmarkMakeLiteral(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapLiteral() } } func BenchmarkMakeMake(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapMake() } } func InitMapLiteral() map[string]int { return map[string]int{} } func InitMapMake() map[string]int { return make(map[string]int) }</code>
Conclusion
Sur la base des résultats de référence, il n'y a pas de différence de performances significative entre l'initialisation d'une carte à l'aide du littéral {} ou de la fonction make. Le choix de la méthode d'initialisation doit être basé sur les préférences personnelles ou les exigences spécifiques du programme.
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!