简介:
-
Go语言
不像 其它编程语言
有 public
、protected
、private
等 访问控制修饰符
-
Go语言
是通过 字母大小写
以及 下划线开头
来 控制可见性的
- 定义的
常量
、变量
、类型
、接口
、结构
、函数
等的名称
-
大写字母开头
表示 能被其它包访问或调用
(相当于 public
)
-
非大写开头
表示 只能在包内使用
(相当于 private
)
代码实例:
package main
import (
"./util"
)
func main() {
println(util.A) // 调用公开常量:成功
println(util.a) // 调用私有常量:失败
println(util._A) // 调用私有常量:失败
println(util.B) // 调用公开变量:成功
println(util.b) // 调用私有变量:失败
println(util._B) // 调用私有变量:失败
util.Function() // 调用公开函数:成功
util.function() // 调用私有函数:失败
util._Function() // 调用私有函数:失败
util.UsePrivate() // 通过一个公开的函数使用私有的属性和函数:成功
}
package util
const (
A = `这是一个公开的常量`
a = `这是一个私有的常量`
_A = `这也是一个私有的常量`
)
var (
B = `这是一个公开的变量`
b = `这是一个私有的变量`
_B = `这也是一个私有的变量`
)
func Function() {
println(`这是一个公开的函数`)
}
func function() {
println(`这是一个私有的函数`)
}
func _Function() {
println(`这也是一个私有的函数`)
}
func UsePrivate() {
// 调用私有属性
println(a)
println(_B)
// 调用私有函数
_Function()
}