Junior — Middle
Go tilida funksiyalarga argumentlar qanday uzatiladi?
sobes.tech AI
AIdan javob
Go tilida, funksiyalardagi argumentlar qiymat bilan o'tkaziladi. Bu shuni anglatadiki, funksiyani chaqirganda, argumentlarning qiymat nusxalari o'tkaziladi va funksiyada o'zgarishlar asl o'zgaruvchilarga ta'sir qilmaydi.
Agar chaqiruvchi koddan o'zgaruvchining qiymatini o'zgartirish kerak bo'lsa, unga ko'rsatkich (pointer) o'tkaziladi. Shunda, funksiya manzilni oladi va bu manzildagi qiymatni o'zgartirishi mumkin.
Qiymat va ko'rsatkich bilan o'tkazish misoli:
package main
import "fmt"
func incrementByValue(x int) {
x = x + 1
}
func incrementByPointer(x *int) {
*x = *x + 1
}
func main() {
a := 5
incrementByValue(a)
fmt.Println(a) // 5 ni chiqaradi, qiymat bilan o'tkazilgan
incrementByPointer(&a)
fmt.Println(a) // 6 ni chiqaradi, ko'rsatkich bilan o'tkazilgan
}