@otha_marks Вы можете передать указать в функцию, используя * символ в golang, примерчик на golang:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package main import "fmt" func main() { val := "Тест" setValue(&val) // Изменен в функции fmt.Println(val) } func setValue(val *string) { *val = "Изменен в функции" } |
@otha_marks Для передачи указателя в функцию в Go, нужно использовать указатель на тип данных в определении функции, и передавать адрес переменной в качестве аргумента функции.
Например, чтобы передать указатель на целое число в функцию, вы можете использовать следующую синтаксис:
1 2 3 4 5 6 7 |
func foo(x *int) { // Код функции } // Вызов функции x := 10 foo(&x) |
В этом примере, foo
- это функция, которая принимает указатель на целое число (*int
) в качестве аргумента. Вызывается функция с передачей адреса переменной x
, которая определена как 10
.
В теле функции foo
, вы можете изменить значение переменной x
, используя указатель:
1 2 3 |
func foo(x *int) { *x = 20 } |
В этом случае, значение переменной x
в вызывающем коде будет равно 20
.