Junior — Middle
Lze považovat za to, že prvky v řezu v Go jsou již seřazeny vzestupně nebo sestupně?
sobes.tech AI
Odpověď od AI
Ne, prvky v rozsahu (slice) v jazyce Go nejsou zaručeně seřazeny ani vzestupně, ani sestupně. Rozsah je jednoduše dynamický pole, které ukládá prvky v pořadí jejich přidání nebo změny.
Pokud je třeba rozsah seřadit, je nutné výslovně zavolat funkce řazení z balíčku sort, například:
import (
"fmt"
"sort"
)
func main() {
nums := []int{5, 3, 8, 1}
sort.Ints(nums) // seřadí rozsah vzestupně
fmt.Println(nums) // [1 3 5 8]
}
Bez takového řazení záleží pořadí prvků na logice programu a není seřazené.