Public、Private【Go】
packageを横断した時の変数について、
頭文字が大文字のものはPublicとなり、外部packageから参照が可能に、
頭文字が小文字のものはPrivateとなり、外部packageから参照が不可能になります。
structの場合、Publicにするには、中身の要素も頭文字を大文字にする必要があります。
// human.go package mylib import ( "fmt" ) type Person struct { // Publicにするため、頭文字は大文字に Name string // Publicにするため、頭文字は大文字にする Age int // Publicにするため、頭文字は大文字にする } func (p Person) String() string { return fmt.Sprintf("My name is %v, %d years old.", p.Name, p.Age) } func (p Person) Say() { fmt.Println(p) } // main.go import ( "fmt" "hello/awsomeProject/mylib" ) func main() { mike := mylib.Person{Name: "Mike", Age: 28} mike.Say() // mylib.Personをmikeに代入した時点で、Personメソッドを利用することができる }