Insérer une valeur dans une tranche à un index donné
Dans Go, l'insertion d'une valeur dans une tranche à un index spécifique peut être effectuée en utilisant diverses méthodes :
Utilisation de la fonction slices.Insert (Go 1.21 et Plus tard :
result = slices.Insert(slice, index, value)
Remarque : l'index doit être compris entre 0 et len(slice).
Utilisation des opérateurs d'ajout et d'affectation :
a = append(a[:index+1], a[index:]...) a[index] = value
Utilisation de l'insert Fonction :
func insert(a []int, index int, value int) []int { if index == len(a) { // Nil or empty slice, or after last element return append(a, value) } a = append(a[:index+1], a[index:]...) // Step 1+2 a[index] = value // Step 3 return a }
Benchmarks :
Les résultats de référence fournis indiquent que la fonction slices.Insert est la plus efficace pour les petites tailles de tranches. Pour les tranches plus grandes, les fonctions d'ajout et d'insertion fonctionnent mieux.
Gestion de l'index hors plage :
Génériques (Go 1.18 et versions ultérieures) :
func insert[T any](a []T, index int, value T) []T { // Similar to the non-generic function }
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!