Golang указывает на указатели как параметры функции

У меня есть следующая функция:

func addCatsToMap(m map[string][]CatHouse, meowId int, treats Set, dog *Dog) {

//if (complicated thing) add Cat to m

}

где Set, тип угощения, есть интерфейс со следующим определением:

type Set interface {
  Add(value string)
  Contains(value string) (bool)
  Length() (int)
  RemoveDuplicates()
}

Вопрос:

Верно ли, что м, лечити собакаявляются проходными -referenceи meowIdскопировано ли его значение?

Я предполагаю, что:

  • mпередается по ссылке, потому что это карта
  • dogявляется структурой. Итак, я должен передать указатель, чтобы избежать копирования данных
20
задан lucascaro 11 November 2018 в 22:34
поделиться