Dans Go, créer efficacement une copie complète d'une tranche est essentiel pour éviter toute modification du tableau de sauvegarde d'origine. Une approche couramment utilisée consiste à utiliser un littéral slice et la fonction append :
1 |
|
Cependant, il existe une méthode alternative qui utilise la fonction de copie intégrée :
1 2 |
|
Cette approche récupère le stockage requis et copie directement les éléments de la source vers la destination à l'aide de la fonction intégrée de copie. Selon la documentation :
1 |
|
1 2 3 |
|
Remarque :
Les deux méthodes effectuent une copie superficielle, ce qui signifie que les pointeurs ou les champs de structure dans la tranche pointeront toujours aux valeurs d'origine.
Benchmark :
Comparaison des performances des deux techniques donne des résultats similaires :
1 2 |
|
Cela suggère que les deux approches sont également adaptées à la copie profonde de tranches dans Go. Cependant, l'approche de la fonction de copie peut être légèrement plus efficace lorsqu'il s'agit de tranches volumineuses.
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!