Packages and Modules
Exported Names
In Go, names that start with a capital letter are exported from a package.
Exported Names
exported_names.go
package main
import "fmt"
func PublicLabel() string {
return "exported"
}
func privateLabel() string {
return "local"
}
func main() {
var useExported =
var label string
if useExported {
label = PublicLabel()
} else {
label = privateLabel()
}
fmt.Println("useExported=", useExported)
fmt.Println("label=", label)
}
package main
import "fmt"
func PublicLabel() string {
return "exported"
}
func privateLabel() string {
return "local"
}
func main() {
var useExported =
var label string
if useExported {
label = PublicLabel()
} else {
label = privateLabel()
}
fmt.Println("useExported=", useExported)
fmt.Println("label=", label)
}
exported name
Exported names are visible to other packages; unexported names stay package-local.