В Go регистр первой буквы имени функции определяет её видимость за пределами пакета. Если имя функции начинается с заглавной буквы — функция экспортируется и доступна из других пакетов. Если с маленькой — функция приватна для текущего пакета.
Есть ли разница в написании имени функции в нижнем регистре или в верхнем?
В Go регистр первой буквы имени функции определяет её видимость за пределами пакета.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Go регистр первой буквы имени функции определяет её видимость за пределами пакета. Если имя функции начинается с заглавной буквы — функция экспортируется и доступна из других пакетов. Если с маленькой — функция приватна для текущего пакета.
Пример:
package mypkg
func ExportedFunc() {
// доступна из других пакетов
}
func unexportedFunc() {
// доступна только внутри mypkg
}
Таким образом, разница не только в регистре, но и в области видимости функции.