пятница, 18 декабря 2020 г.

Go style guides: используйте префикс _ для неэкспортируемых глобальных переменных

Применяйте префикс _ для неэкспортируемых переменных и констант верхнего уровня, чтобы при их использовании было ясно, что они являются глобальными символами.

Исключение: неэкспортированные значения ошибок, перед которыми должен стоять префикс err.

Обоснование: переменные и константы верхнего уровня имеют область действия пакета. Использование универсального имени позволяет легко случайно использовать неправильное значение в другом файле.

Менее удачный вариант:

// foo.go
package foo

const (
    defaultPort = 8080
    defaultUser = "user"
)

// bar.go
package foo

func Bar() {
    defaultPort := 9090
    ...
    fmt.Println("Default port", defaultPort)

    // Мы не увидим ошибки компиляции, 
    // если первая строка Bar() будет удалена.
}

Более удачный вариант:

// foo.go

const (
    _defaultPort = 8080
    _defaultUser = "user"
)


Читайте также:


Комментариев нет:

Отправить комментарий