Вопрос: Как передавать значения в функцию: по значению или по указателю?
Python
Middle
Без компании
Вопрос: Как передавать значения в функцию: по значению или по указателю?
Ответы
```go
type User struct{ Name string }
func setNameByValue(u User) { u.Name = "X" }
func setNameByPtr(u *User) { u.Name = "X" }
u := User{Name: "A"}
setNameByValue(u)
fmt.Println(u.Name) // A
setNameByPtr(&u)
fmt.Println(u.Name) // X
```
**Как это работает:** аргументы в Go передаются по значению (копия). Для изменения исходного значения передают указатель.