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