7.3. 导出标识符

在Go语言中,如果想要在一个包里引用另外一个包里的标识符(如类型、变量、常量等)时, 必须首先将被引用的标识符导出,将要导出的标识符的首字母大写就可以让引用者可以访问这些标识符了

7.3.1. 1.导出包内标识符

package main

var myVar  = 100

const MyConst  = "hello"

type MyStruct struct {
}

// 此时MyConst和MyStruct 可以被外部访问,myVar只能在包内使用

7.3.2. 2.导出结构体及接口成员

在被导出的结构体或接口中,如果它们的字段或方法首字母是大写,外部可以访问这些字段和方法,代码如下:

type MyStruct1 struct {
    // 包外可以访问的字段
    ExportedField int

    //仅限包内访问的字段
    privateField int
}

type MyInterface interface {
    // 包外可以访问的方法
    ExportedMethod()

    // 仅限包内访问的方法
    privateMethod()
}

在代码中,MyStruct的ExportedField和MyInterface的ExportedMethod()可以被包外访问。