当前位置: 技术文章>> go中的公开或未公开的标识符详细介绍与代码示例

文章标题:go中的公开或未公开的标识符详细介绍与代码示例
  • 文章分类: 后端
  • 10805 阅读
文章标签: go go基础

在Go语言中,标识符可以是公开的(public)或未公开的(private)。公开的标识符可以被其他包引用和使用,而未公开的标识符只能在其所在包内部使用。

在Go语言中,标识符的可见性是通过大小写字母来区分的。以大写字母开头的标识符是公开的,可以由其他包引用和使用;以小写字母开头的标识符是未公开的,只能在其所在包内部使用。

下面是一个简单的示例代码,展示了公开和未公开的标识符:


package main



import "fmt"  



// 公开的标识符  

type PublicStruct struct {

PublicField string  

}



// 未公开的标识符  

type privateStruct struct {

PrivateField string  

}



func main() {

// 创建公开的结构体实例,可以访问其字段  

publicInstance := PublicStruct{PublicField: "Hello"}

fmt.Println(publicInstance.PublicField) // 输出:Hello  



// 创建未公开的结构体实例,无法访问其字段  

privateInstance := privateStruct{PrivateField: "World"} // 编译错误,不能访问privateStruct和其字段  

fmt.Println(privateInstance.PrivateField)                // 编译错误,不能访问PrivateField字段  

}

在上面的代码中,PublicStruct是一个公开的结构体类型,其字段PublicField也是公开的。因此,在main函数中可以创建PublicStruct的实例并访问其字段。

privateStruct是一个未公开的结构体类型,其字段PrivateField也是未公开的。因此,在main函数中无法创建privateStruct的实例,也无法访问其字段。尝试这样做会导致编译错误。


推荐文章