Middle+
42
როგორ გადაეცემა არგუმენტები ფუნქციას — მნიშვნელობით თუ მითითებით?
კომპანიებმა სადაც სთხოვეს
ТБанк
პასუხი AI-სგან
sobes.tech AI
В Go аргументы в функции передаются по значению. Это значит, что при вызове функции копия значения передается в параметр функции.
Однако, если передать указатель (pointer), то копируется значение указателя, который указывает на оригинальные данные. Таким образом, можно косвенно изменять данные, на которые указывает указатель.
Пример:
func increment(val int) {
val++
}
func incrementPointer(val *int) {
(*val)++
}
func main() {
a := 5
increment(a) // a останется 5
incrementPointer(&a) // a станет 6
}
Итого: базовый тип передается по значению, но можно передавать указатели для изменения оригинальных данных.