对于未导出的顶层常量和变量,使用_作为前缀
发布者:admin 发表于:443天前 阅读数:518 评论:0

在未导出的顶级varsconsts, 前面加上前缀_,以使它们在使用时明确表示它们是全局符号。

例外:未导出的错误值,应以err开头。

基本依据:顶级变量和常量具有包范围作用域。使用通用名称可能很容易在其他文件中意外使用错误的值。

Bad Good

// foo.go

const ( defaultPort = 8080 defaultUser = "user" )

// bar.go

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

// We will not see a compile error if the first line of // Bar() is deleted. } |

// foo.go

const ( _defaultPort = 8080 _defaultUser = "user" ) |