Ce face slices.Repeat
slices.Repeat(x, count) creează un slice nou cu elementele lui x puse unul după altul de count ori. slices.Repeat([]int{0}, 5) dă cinci zerouri, slices.Repeat([]string{"a", "b"}, 2) dă [a b a b].
Dacă count este negativ, programul se oprește cu panic. Pentru texte există strings.Repeat.
Parametri
| Parametru | Descriere |
|---|---|
x |
Slice-ul repetat. |
count |
De câte ori se repetă (≥ 0). |
Ce returnează
Un slice nou, de lungime len(x) * count.
Exemple
Exemplul 1: Valori de pornire și tipare
package main
import (
"fmt"
"slices"
)
func main() {
note := slices.Repeat([]int{10}, 4)
fmt.Println(note)
tura := slices.Repeat([]string{"zi", "noapte"}, 3)
fmt.Println(tura)
fmt.Println(len(slices.Repeat([]int{1, 2}, 0)))
}
Rezultat
[10 10 10 10]
[zi noapte zi noapte zi noapte]
0
Greșeli frecvente
- Repeți un slice de pointeri sau de slice-uri și te aștepți la obiecte separate: se repetă aceleași valori, deci toate copiile indică spre aceleași date.
Comenzi înrudite
slices.Concat: Lipește mai multe slice-uri într-unul nou, alocat o singură dată.slices.Clone: Returnează o copie a unui slice, cu memorie proprie: modificările copiei nu afectează originalul.