ponteiros golang em ponteiros como parâmetros de função

Eu tenho a seguinte função:

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

//if (complicated thing) add Cat to m

}

OndeSet, o tipo detreats, é uma interface com a seguinte definição:

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

Questão:

É verdade quem, treatsedog estápassado por referênciaemeowId tem seu valor copiado?

Eu assumo isso:

m é passar por referência porque é um mapadog é uma estrutura. Então, eu deveria passar o ponteiro para evitar copiar os dados

questionAnswers(3)

yourAnswerToTheQuestion