Pāriet uz galveno saturu

GO - назначение

GO - назначение

Смотреть исходное изображение
Язык Go разрабатывался как язык программирования для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. Он может рассматриваться как попытка создать замену языкам Си и C++.

По словам Роба Пайка[9], «Go был разработан для решения реальных проблем, возникающих при разработке программного обеспечения в Google».
В качестве основных таких проблем он называет: 
  • медленную сборку программ; 
  • неконтролируемые зависимости; 
  • использование разными программистами разных подмножеств языка; 
  • затруднения с пониманием программ, вызванные неудобочитаемостью кода, плохим документированием и так далее; 
  • дублирование разработок; 
  • высокую стоимость обновлений; 
  • несинхронные обновления при дублировании кода; 
  • сложность разработки инструментария; 
  • проблемы межъязыкового взаимодействия. 
Основными требованиями к языку стали: 
  • Ортогональность. 
  • Язык должен предоставлять небольшое число средств, не повторяющих функциональность друг друга. 
  • Простая и регулярная грамматика. 
  • Минимум ключевых слов, простая, легко разбираемая грамматическая структура, легко читаемый код.
  •  Простая работа с типами. 
  • Типизация должна обеспечивать безопасность, но не превращаться в бюрократию, лишь увеличивающую код. 
  • Отказ от иерархии типов, но с сохранением объектно-ориентированных возможностей. 
  • Отсутствие неявных преобразований. 
  • Сборка мусора. 
  • Встроенные средства распараллеливания, простые и эффективные. 
  • Поддержка строк, ассоциативных массивов и коммуникационных каналов. 
  • Чёткое разделение интерфейса и реализации. 
  • Эффективная система пакетов с явным указанием зависимостей, обеспечивающая быструю сборку.

Komentāri

Šī emuāra populārākās ziņas

Алфавит (golang)

Go — регистрозависимый язык с полной поддержкой Юникода в строках и идентификаторах. Идентификатор традиционно может быть любой непустой последовательностью, включающей буквы, цифры и знак подчёркивания, начинающийся с буквы и не совпадающий ни с одним из ключевых слов языка Go. При этом под «буквами» понимаются все символы Юникода, относящиеся к категориям «Lu» (буквы верхнего регистра), «Ll» (буквы нижнего регистра), «Lt» (заглавные буквы), «Lm» (буквы-модификаторы) или «Lo» (прочие буквы), под «цифрами» — все символы из категории «Nd» (числа, десятичные цифры). Таким образом, ничто не мешает использовать в идентификаторах, например, кириллицу.

Синтаксис в языке программирования GO

Синтаксис в языке программирования GO Алфавит  Пакеты Модули

Пакеты (golang)

Любая программа на Go включает один или несколько пакетов. Пакет, к которому относится файл исходного кода, задаётся описанием package в начале файла. Имена пакетов имеют те же ограничения, что и идентификаторы, но могут содержать буквы только нижнего регистра. Любые глобальные объекты (переменные, типы, интерфейсы, функции, методы, элементы структур и интерфейсов) доступны без ограничений в пакете, в котором они объявлены. Глобальные объекты, имена которых начинаются на заглавную букву, являются экспортируемыми. Для использования в файле кода Go объектов, экспортированных другим пакетом, пакет должен быть импортирован, для чего применяется конструкция import. В ней перечисляются пути к импорируемым пакетам от каталога src в дереве исходных текстов, положение которого задаётся переменной среды GOPATH, а для стандартных пакетов достаточно указать имя. Использование импортируемых пакетов в Go контролируется строже, чем в большинстве языков. Если пакет импортирован, то в коде должно ис