Go之旅(三)- 可导出名称

288 阅读1分钟

原文:

tour.golang.org/basics/3

译文:

可导出名称

在Go中,如果一个名称以大写字母开头那么它是可导出的。例如:Pizza是一个可导出名称,就像Pi它由math包中导出。

pizzapi不是由大写字符开头,所以它们不可导出。

当导入包时,仅仅可应用它的可导出名称,任何非导出名称在包外都无法访问。

运行下面的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中,采用“约定胜于配置”的方式,只要名称的首字母是大写就认为是公共的,更加简洁。