详解Go语言中的导出标识符
更新时间:2026年11月05日 09:40:54 作者:pan_junbiao
Go语言中没有public、private关键字,通过标识符首字母大小写区分是否对外暴露,本文介绍Go语言中的导出标识符,感兴趣的朋友跟随小编一起看看吧
Go 语言中的标识符首字母可以大写,如果包中定义的标识符首字母大写,则表示它可以被外部调用,这样的标识符叫作导出标识符。Go 语言中没有 public、private 关键字,通过标识符首字母大小写区分是否对外暴露。如果想在一个包里引用另外一个包里的标识符(如类 型、变量、常量等)时,必须首先将被引用的标识符导出,将要导出的标识符的首字母大写就可以让引用者可以访问这些标识符了。
使用 VS Code,创建 Go 项目,如下图:

创建 chapter02\user\user.go 文件,代码如下:
package user
// 导出变量:首字母大写,外部包可以访问
var Name = "pan_junbiao的博客"
var Age int = 20
// Myfunc 导出函数,首字母大写,外部可以调用
func Myfunc() string {
address := "广东省深圳市" // address 小写,仅这个函数内部局部变量,和包导出无关
return address
}
// BlogInfo 导出结构体类型,首字母大写
type BlogInfo struct {
ID int // 大写:导出,包外能读写
name string // 小写:未导出,包外【无法读取、无法赋值】
Title string
Url string
}创建 main.go 文件,代码如下:
package main
import (
"fmt"
"go-study/chapter02/user"
)
func main() {
fmt.Printf("姓名: %s\n", user.Name)
fmt.Printf("年龄: %d\n", user.Age)
fmt.Printf("地址: %s\n", user.Myfunc())
blog := user.BlogInfo{Title: "您好,欢迎访问 pan_junbiao的博客", Url: "https://blog.csdn.net/pan_junbiao"}
fmt.Printf("博客标题: %s\n", blog.Title)
fmt.Printf("博客地址: %s\n", blog.Url)
}执行结果:

由此可见,在导入某个包时,如果包中定义的标识符的首字母大写,则该标识符可以被外部调用。
到此这篇关于Go语言中的导出标识符的文章就介绍到这了,更多相关Go语言导出标识符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!


最新评论