Junior — Middle
Чӣ гуна интиқоли аргументҳо дар функсияҳо дар забони Go сурат мегирад?
sobes.tech AI
Ҷавоб аз AI
በGo ቋንቋ፣ በፈንክሽኖች ውስጥ አሰጣጥ በእሴት ይሰጣል። ይህም ማለት ሲሆን፣ በፈንክሽ ጥሪ ላይ ሲደርስ፣ የአሰጣጥ እሴቶች ኮፒዎች ይሰጣሉ፣ እና በፈንክሽ ውስጥ ያሉ ለውጦች ከመለያያያቸው የተለየ ናቸው።
ከእንግዲኛ ኮድ ውስጥ የተለዋዋጭ እሴት ለመለወጥ፣ ወደዚያ ተለዋዋጭ የሚመለከተውን መለኪያ ይላኩበታል። ከዚህ በኋላ፣ ፈንክሽ አድራሻን ይቀበላል እና በዚያ አድራሻ ላይ ያለውን እሴት ሊለውጥ ይችላል።
የእሴት እና የመለኪያ መላክ ምሳሌ:
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, ምክንያቱም በእሴት ተላክቷል
incrementByPointer(&a)
fmt.Println(a) // ይታያል 6, ምክንያቱም በመለኪያ ተላክቷል
}