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.