Sobes.tech
Junior — Middle

Tudná magyarázni, hogy mik azok a típusok, amelyeket referencia szerint adnak át a programozási nyelvekben?

sobes.tech MI

Válasz az MI-től

Programozási nyelvekben az átadott típusok referencián keresztül azt jelentik, hogy amikor egy változót egy függvényhez vagy metódushoz adunk át, nem a érték másolatát adjuk át, hanem egy hivatkozást (mutatót) az eredeti adatokra. A függvényen belüli változtatások hatással lesznek az eredeti objektumra.

Go nyelvben az alapvető típusok (int, float, bool) értékkel kerülnek átadásra, míg összetett típusok, mint például szeletek (slices), térképek (maps), mutatók (pointers), csatornák (channels) és interfészek (interfaces), referencián keresztül.

Példa szelet átadására referencia szerint:

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

func main() {
    nums := []int{1, 2, 3}
    modifySlice(nums)
    fmt.Println(nums) // Kiírja: [100 2 3]
}

Itt a függvény egy referencia a szeletre, így a függvényen belüli változtatások az eredeti szeletet érintik. Ez hatékony munkát tesz lehetővé nagy adatszerkezetekkel anélkül, hogy másolatot készítenénk.