Sobes.tech
Junior — Middle

Vai ir iespējams mainīt masīva saturu, kas nodots kā slice, programmas izpildes laikā?

sobes.tech AI

Atbilde no AI

Jā, masīva saturs, kas nodots kā slice, var tikt mainīts programmas izpildes laikā. Go valodā slice ir struktūra, kas satur norādi uz masīvu, garumu un ietilpību. Slice elementu izmaiņas atspoguļojas sākotnējā masīvā, jo slice norāda uz tā datiem.

Piemērs:

package main
import "fmt"

func modifySlice(s []int) {
    s[0] = 100
}

func main() {
    arr := [3]int{1, 2, 3}
    slice := arr[:]
    modifySlice(slice)
    fmt.Println(arr) // Izdrukās: [100 2 3]
}

Tādējādi, mainot slice, tiek mainīts arī sākotnējais masīvs.