Страницы

Поиск по вопросам

среда, 11 декабря 2019 г.

Почему имена встроенных функций в Go набраны строчными буквами?

#golang #дизайн_языка


Функции и переменные с именами начинающимися со сточной буквы не видны снаружи пакета,
так почему встроенные типы и функции начинаются со строчной буквы? Они описаны в пакете
main?
    


Ответы

Ответ 1



Имена встроенных функций не входят ни в один пакет, и в Go нет перегрузки функций, по этому если существует встроенная функция foo, то ни в одном пакете нельзя объявить функцию с именем foo. Если бы встроенные функции начинались с большой буквы, например Append или Close, то нельзя было бы сделать метод с таким именем, что весьма неудобно. Более того, если в будущем появится новая встроенная функция, например Move, то надо будет переписывать все пакеты, имеющие такую функцию. Более того, т.к. это публичное API, надо будет переписать все пакеты, в которых эта функция вызывается. По этому встроенные функции начинаются с маленькой буквы. Это не мешает использованию этих функций в публичном API, и при добавлении новых встроенных функций будет сломано меньше кода.

Комментариев нет:

Отправить комментарий