Вопрос: Как передавать значения в функцию: по значению или по указателю?

Go 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 передаются по значению (копия). Для изменения исходного значения передают указатель.