Sobes.tech
Junior — Middle

Milyen adattípusok esetén lehet közvetlenül módosítani a tartalmukat mutatók használata nélkül?

sobes.tech MI

Válasz az MI-től

Go nyelvben lehetőség van a következő típusú változók tartalmának közvetlen módosítására mutatók használata nélkül:

  • Primitív típusok: int, float64, bool, string (bár a Go-ban a stringek nem módosíthatók, új értékeket lehet hozzárendelni)
  • Tömbök (ha nem mutatóval adják át őket)
  • Struktúrák (ha nem mutatóval adják át őket)

Például, ha van egy int típusú változó vagy egy struktúra, akkor közvetlenül módosíthatja azok mezőit vagy értékét:

var x int = 10
x = 20 // közvetlen módosítás

type Point struct {
    X, Y int
}

p := Point{X: 1, Y: 2}
p.X = 5 // közvetlen módosítás a struktúra mezőjén

A mutatók akkor szükségesek, ha egy függvénybe átadott változó értékét szeretné módosítani, vagy nagy struktúrákkal szeretne dolgozni másolás nélkül.