C語言中文網 目錄

Go語言導出包中的標識符——讓外部訪問包的類型和值

Go 語言中,如果想在一個包里引用另外一個包里的標識符(如類型、變量、常量等)時,必須首先將被引用的標識符導出,將要導出的標識符的首字母大寫就可以讓引用者可以訪問這些標識符了。

導出包內標識符

下面代碼中包含一系列未導出標識符,它們的首字母都為小寫,這些標識符可以在包內自由使用,但是包外無法訪問它們,代碼如下:
package mypkg

var myVar = 100

const myConst = "hello"

type myStruct struct {
}
將 myStruct 和 myConst 首字母大寫,導出這些標識符,修改后代碼如下:
package mypkg

var myVar = 100

const MyConst = "hello"

type MyStruct struct {
}
此時,MyConst 和 MyStruct 可以被外部訪問,而 myVar 由于首字母是小寫,因此只能在 mypkg 包內使用,不能被外部包引用。

導出結構體及接口成員

在被導出的結構體或接口中,如果它們的字段或方法首字母是大寫,外部可以訪問這些字段和方法,代碼如下:
type MyStruct struct {

    // 包外可以訪問的字段
    ExportedField int

    // 僅限包內訪問的字段
    privateField int
}

type MyInterface interface {

    // 包外可以訪問的方法
    ExportedMethod()

    // 僅限包內訪問的方法
    privateMethod()
}
在代碼中,MyStruct 的 ExportedField 和 MyInterface 的 ExportedMethod() 可以被包外訪問。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo