Есть ли разница между константами, определенными внутри функции Go, и константами, определенными в верхней части пакета? - PullRequest
0 голосов
/ 13 января 2019

Есть ли разница, в основном в производительности, между константами, определенными внутри и вне области действия функции?

func (this *Person) SetDefaults() *Person{
    const (
        defaultFirstName = "first"
        defaultLastName  = "last"
    )

    //do stuff with constants
    return this
}

против

const (
    defaultFirstName = "first"
    defaultLastName  = "last"
)
func (this *Person) SetDefaults() *Person{
    //do stuff with constants
    return this
}  

1 Ответ

0 голосов
/ 13 января 2019

Разница только в объеме

Константы просто меняются при каждой ссылке во время компиляции.
Таким образом, нет никакой разницы во время выполнения относительно того, откуда он пришел.

...