Golang语法总结(三):可见性规则(公有与私有,访问权限)
2016-02-22 12:58
405 查看
Go语言没有像其它语言一样有public、protected、private等访问控制修饰符,它是通过字母大小写来控制可见性的,如果定义的常量、变量、类型、接口、结构、函数等的名称是大写字母开头表示能被其它包访问或调用(相当于public),非大写开头就只能在包内使用(相当于private,变量或常量也可以下划线开头)例如:visibility/test.go
packagevisibility
import"fmt"
constPI=3.145
constpi=3.14
const_PI=3.14
varPint=1
varpint=1
funcprivate_function(){
fmt.Println("onlyusedinthispackage!")
}
funcPublic_fuction(){
fmt.Println("usedinanywhere!")
}main.go
packagemain
import(
"visibility"
"fmt"
)
funcmain(){
visibility.Public_fuction()//usedinanywhere!
//visibility.private_function()//不能访问私有函数,无法通过编译
fmt.Println(visibility.P)//1
//fmt.Println(visibility.p)//不能访问私有变量,无法通过编译
fmt.Println(visibility.PI)//3.14
//fmt.Println(visibility.pi)//不能访问私有常量,无法通过编译
//fmt.Println(visibility._PI)//不能访问私有常量,无法通过编译
}
相关文章推荐
- Dragonboard 410c ubuntu 系统安装
- [golang note] 内建类型
- go-oci8
- Mongod参数说明
- Django~Settings.py
- 那些年使用Golang读取txt的坑!
- Golang语法总结(二):程序结构
- Golang语法总结(一):关键字和注释方法
- 如何优化 Django REST Framework 的性能?
- Google停用侧边栏广告
- django分页插件介绍以及安装
- LogCat message: The Google Play services resources were not found. Check your project configuration
- goto语句学习的实例
- 我与小娜(18):购买LIGO“绝活儿“,值不值?
- golang--gorilla/context,golang之单例模式
- golang--从类型转换角度看interface
- Visualizing Concurrency in Go--转
- golang--零下线时间式重启
- golang中的检验hash
- golang--gorilla/mux,强大的URL路由和调度器