04 Язык и программа
Какие имена видны другим пакетам?
Ответ
Имя, которое начинается с заглавной буквы, экспортировано: его видно снаружи пакета. Имя с маленькой буквы остаётся внутри пакета. Это правило одно и то же для функций, типов, полей и методов.
Подробнее
Внутри своего пакета видны и те и другие. encoding/json тоже смотрит на это правило: в JSON попадают только экспортированные поля.
package greet
import "fmt"
func Hello(name string) {
fmt.Println(hello(name))
}
func hello(name string) string {
return "привет, " + name
}