• 非导出的全局变量或者常量以 _ 开头

    非导出的全局变量或者常量以 _ 开头

    非导出的全局变量和常量前面加上前缀 _,以明确表示它们是全局符号。

    例外:未导出的错误类型变量,应以 err 开头。

    解释:顶级(全局)变量和常量具有包范围作用域。使用通用名称命名,可能在其他文件中不经意间地使用一个错误值。

    BadGood
    1. // foo.go
    2. const (
    3. defaultPort = 8080
    4. defaultUser = "user"
    5. )
    6. // bar.go
    7. func Bar() {
    8. defaultPort := 9090
    9. fmt.Println("Default port", defaultPort)
    10. // We will not see a compile error if the first line of
    11. // Bar() is deleted.
    12. }
    1. // foo.go
    2. const (
    3. _defaultPort = 8080
    4. _defaultUser = "user"
    5. )