Ce face slices.Reverse
slices.Reverse(s) pune elementele în ordine inversă: primul devine ultimul. Modifică slice-ul primit și nu returnează nimic.
Combinată cu slices.Sort dă ordinea descrescătoare. Dacă vrei să parcurgi un slice de la coadă fără să-l modifici, folosește slices.Backward.
Parametri
| Parametru | Descriere |
|---|---|
s |
Slice-ul inversat. |
Ce returnează
Nimic; slice-ul este modificat pe loc.
Exemple
Exemplul 1: Inversare și ordine descrescătoare
package main
import (
"fmt"
"slices"
)
func main() {
numaratoare := []int{1, 2, 3, 4, 5}
slices.Reverse(numaratoare)
fmt.Println(numaratoare)
nume := []string{"Mihai", "Ana", "Radu"}
slices.Sort(nume)
slices.Reverse(nume)
fmt.Println(nume)
}
Rezultat
[5 4 3 2 1]
[Radu Mihai Ana]
Exemplul 2: Inversarea literelor unui cuvânt
Un string nu poate fi modificat. Îl transformi în []rune (ca diacriticele să rămână întregi), îl inversezi și îl transformi înapoi.
package main
import (
"fmt"
"slices"
)
func main() {
litere := []rune("țară")
slices.Reverse(litere)
fmt.Println(string(litere))
}
Rezultat
ăraț
Greșeli frecvente
- Scrii
s = slices.Reverse(s): funcția nu returnează nimic, deci nu compilează. - Inversezi un text ca
[]byte: literele cu diacritice au mai mulți octeți și se strică. Folosește[]rune.
Comenzi înrudite
slices.Sort: Sortează crescător, pe loc, un slice de orice tip ordonat (numere, texte).slices.All: Transformă un slice în iterator: All dă perechi (indice, valoare), Values doar valorile, Backward perechile de la coadă la cap.