указатели Голанга на указатели как параметры функции
У меня есть следующая функция:
func addCatsToMap(m map[string][]CatHouse, meowId int, treats Set, dog *Dog) {
//if (complicated thing) add Cat to m
}
гдеSet
, типtreats
, является интерфейсом со следующим определением:
type Set interface {
Add(value string)
Contains(value string) (bool)
Length() (int)
RemoveDuplicates()
}
Question:
Это правда, чтоm
, treats
, а такжеdog
являютсяpassed-by-reference, а такжеmeowId
скопировано ли это значение?
Я предполагаю, что:
m
is pass-by-reference because it's a map
dog
is a struct. So, I should pass the pointer to avoid copying the data