Golang-Zeiger auf Zeiger als Funktionsparameter

Ich habe folgende Funktion:

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

//if (complicated thing) add Cat to m

}

woherSet, die Art vontreatsist eine Schnittstelle mit der folgenden Definition:

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

Frage:

Ist es wahr dassm, treats, unddog sindals Referenz übergeben, undmeowId Hat es den Wert kopiert?

Ich nehme an, dass:

m ist Referenzübergabe, da es sich um eine Karte handeltdog ist eine Struktur. Daher sollte ich den Zeiger übergeben, um ein Kopieren der Daten zu vermeiden

Antworten auf die Frage(3)

Ihre Antwort auf die Frage