Применяйте префикс _ для неэкспортируемых переменных и констант верхнего уровня, чтобы при их использовании было ясно, что они являются глобальными символами.
Исключение: неэкспортированные значения ошибок, перед которыми должен стоять префикс 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"
)
Читайте также:
- Go style guides: группировка функций и упорядочение
- Go style guides: уменьшайте вложенность
- Go style guides: объявления переменных верхнего уровня
Комментариев нет:
Отправить комментарий