Sobes.tech
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é.