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
, treats
edog
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