Có bất kỳ hàm ý nào (GC churn, hiệu suất hay cách khác) để xác định một hàm struct
bên trong một hàm so với việc nó được xác định bên ngoài không? Ví dụ:Ý nghĩa của việc xác định một cấu trúc bên trong một hàm so với bên ngoài?
type Outside struct {
Foo string `json:"foo"`
}
func SomeFunc(b []byte) error {
outside := Outside{}
if err := json.NewDecoder(b).Decode(&outside); err != nil {
return err
}
...
}
vs
func SomeFunc(b []byte) error {
type inside struct {
Foo string `json:"foo"`
}
if err := json.NewDecoder(b).Decode(&inside); err != nil {
return err
}
...
}
Nên có bất kỳ tình huống mà một được ưa thích hơn người kia?