Junior — Middle
Golang dilində funksiyalar və strukturlar arasında elementlərin ötürülməsi necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, funksiyalar və strukturlar arasında elementlərin ötürülməsi iki əsas üsulla həyata keçirilə bilər: dəyər və göstərici ilə.
- Dəyər ilə: struktur və ya dəyişən özü kopyalanır, funksiyada edilən dəyişikliklər orijinala təsir etmir.
- Göstərici ilə: struktur və ya dəyişənin ünvanı ötürülür, bu da funksiyaya orijinal məlumatları dəyişdirməyə imkan verir.
Nümunə:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func updateByValue(p Person) {
p.Age = 30 // yalnız kopya dəyişəcək
}
func updateByPointer(p *Person) {
p.Age = 30 // orijinal dəyişəcək
}
func main() {
person := Person{Name: "Ivan", Age: 25}
updateByValue(person)
fmt.Println(person.Age) // 25
updateByPointer(&person)
fmt.Println(person.Age) // 30
}
Beləliklə, funksiyada məlumatları dəyişdirmək istəyirsinizsə, struktura göstərici ötürün. Əgər dəyişikliklər lazım deyilsə, dəyər ilə ötürə bilərsiniz.