Junior — Middle
Môžeme považovať, že prvky v reze v Go sú už zoradené vzostupne alebo zostupne?
sobes.tech AI
Odpoveď od AI
Nie, prvky v rozsahu (slice) v jazyku Go nie sú garantovane, že budú zoradené ani vzostupne, ani zostupne. Rozsah je jednoducho dynamický poľ, ktorý uchováva prvky v poradí ich pridania alebo zmeny.
Ak je potrebné rozsah zoradiť, je potrebné explicitne zavolať funkcie zoradenia z balíka sort, napríklad:
import (
"fmt"
"sort"
)
func main() {
nums := []int{5, 3, 8, 1}
sort.Ints(nums) // zoradí rozsah vzostupne
fmt.Println(nums) // [1 3 5 8]
}
Bez takéhoto zoradenia závisí poradie prvkov od logiky programu a nie je zoradené.