Ответы
Ivan Gagarinov
09 января 2023
В Go все агрументы передаются по значению. Этот язык не поддерживает ссылочные переменные. Вместо этого в языке используются указатели, они хранят адрес в памяти. По этому адресу можно напрямую изменить данные. Некоторые типы данных, например Map и Slice, при создании возвращают такой указатель. Указатели во многом схожи с передачей по ссылке:
package main
import (
"fmt"
)
func main() {
m := map[string]int{}
fillMap(m)
fmt.Println(m) // map[random:1]
}
func fillMap(m map[string]int) {
m["random"] = 1
}
0
0