Golang wskazuje wskaźniki jako parametry funkcji

Mam następującą funkcję:

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

//if (complicated thing) add Cat to m

}

gdzieSet, typtreats, jest interfejsem o następującej definicji:

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

Pytanie:

Czy to prawda, żem, treats, idog sąprzekazane przez odniesienie, imeowId czy jego wartość została skopiowana?

Zakładam, że:

m jest pass-by-reference, ponieważ jest to mapadog jest strukturą. Dlatego powinienem przekazać wskaźnik, aby uniknąć kopiowania danych

questionAnswers(3)

yourAnswerToTheQuestion