原文:
译文:
可导出名称
在Go中,如果一个名称以大写字母开头那么它是可导出的。例如:Pizza
是一个可导出名称,就像Pi
它由math
包中导出。
pizza
和pi
不是由大写字符开头,所以它们不可导出。
当导入包时,仅仅可应用它的可导出名称,任何非导出名称在包外都无法访问。
运行下面的code。注意错误信息
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.pi)
}
要修改错误,请将math.pi
修改为math.Pi
。然后重试
译者注
上面的代码在运行时会报以下错误:
./prog.go:9:14: cannot refer to unexported name math.pi
提示的信息很明确:无法引用非导出名称。所谓可导出名称就是公共名称,在java
中我们使用public
修饰符来表示公共名称。而在Go
中,采用“约定胜于配置”的方式,只要名称的首字母是大写就认为是公共的,更加简洁。