В следующей серии статей я собираюсь предоставить руководство по изучению языка Go. Язык Go - это язык программирования, разработанный исследователями информатики в Google. Два из первоначальных разработчиков, Роб Пайк и Кен Томпсон, участвовали в разработке C и Unix в Bell Labs. Go имеет несколько технических функций, которые выделяют его среди других языков программирования, и вам следует подумать о его изучении в своем следующем проекте по изучению языков программирования.
Go похож на C
Поскольку два разработчика Go также входили в группу C / Unix в Bell Labs, логично предположить, что этот язык во многом похож на C. Go унаследовал многие функции программирования от C, такие как формирование выражений и т. Д. базовые структуры потока управления (хотя в Go нет конструкции цикла while), параметры вызова по значению и указатели. Однако наиболее важной особенностью Go, унаследованной от C, является упор на эффективную компиляцию и ее близость к способам работы современных операционных систем. (См. Книгу Алана Донована и Брайана Кернигана The Go Programming Language, чтобы узнать больше о сходстве с C.)
Концепции, заимствованные из других языков
Разработчики Go также искали идеи на других языках. Пакеты в Go используются функциями Oberon и Oberon-2. Эти языки были разработаны известным компьютерным ученым Никлаусом Виртом, и на концепции, касающиеся пакетов, импорта и объявлений методов, реализованных в Go, сильно повлияла работа Вирта с Oberon и Oberon-2.
Язык Go был разработан частично для продвижения определенных концепций, касающихся параллелизма, которые были разработаны Робом Пайком и его коллегами из Bell Labs. Эти языки, в том числе Alef, Squeak и Newsqueak, а также операционная система, разработанная в Bell Labs, но не реализованная за пределами этой организации, Plan 9, малоизвестны в индустрии программирования, но оказали большое влияние на исследования в области компьютерных наук в область параллелизма.
В своей книге Донован и Керниган также упоминают, что Go находился под влиянием таких языков, как APL, Scheme, а также современных версий языка динамического программирования, таких как Python.
Акцент в дизайне на мощь, но простоту
Одним из наиболее интересных аспектов Go является то, что он имеет возможности наряду с функциями, которые есть во многих «современных» языках программирования, которые Go решил не включать. Функции программирования, которые он содержит, включают лексическую область видимости, функции первого класса, неизменяемые строки, сборку мусора и систему пакетов. Список функций, которые он не учитывает, намного длиннее (этот список взят непосредственно у Донована и Кернигана): неявные числовые преобразования, конструкторы или деструкторы, перегрузка операторов, значения параметров по умолчанию, наследование, универсальные шаблоны, исключения, макросы, аннотации функций или поток -местное хранилище.
Go имеет хорошо оснащенную стандартную библиотеку для выполнения ввода / вывода, обработки текста, графики, криптографии, работы в сети и распределенных систем.
Одна интересная особенность Go заключается в том, как он реализует объектно-ориентированное программирование. В Go нет классов или иерархий классов, поэтому нет наследования. Создание сложных типов данных осуществляется путем композиции, создания новых объектов из текущих объектов и избегания сложностей и проблем, связанных с наследованием.
Скачивание и установка Go
Вы можете скачать язык с веб-сайта проекта: golang.org. Есть бинарные файлы для всех обычных операционных систем. Я расскажу вам о загрузке и установке для Windows.
Сначала перейдите на страницу загрузки языка Go (https://golang.org/dl/). Вот скриншот страницы:
Выберите Microsoft Windows. Затем просто следуйте инструкциям и выберите все значения по умолчанию, и он будет установлен на ваш компьютер. Когда он закончится, нажмите кнопку «Готово», и вы готовы приступить к работе.
Привет, мир! в Go
Следуя традиции, восходящей к C, предку Go, я представлю Go, написав программу, которая отображает «Hello, world!» на экране.
Откройте окно командной строки и перейдите в подкаталог, в котором установлен Go. Это должно быть c: \ go, если при установке вы следовали значениям по умолчанию. Теперь перейдите в каталог c: \ Go \ bin, где находится компилятор. Введите следующую программу в текстовый редактор, сохранив ее как hello.go:
package main import "fmt" func main() { fmt.Println("Hello, world!") }
В следующих статьях я буду обсуждать различные части этой программы, поэтому пока мы просто собираемся скомпилировать и запустить программу. В командной строке введите следующую команду:
c:\Go\bin\go run hello.go
После компиляции вы увидите результат на экране, как показано на этом снимке экрана:
Продолжайте идти с Go
Это только первая из серии учебных статей, в которых вы узнаете больше о программировании на Go. Я собираюсь организовать статьи вокруг шаблонов программирования, чтобы представить язык как инструмент решения проблем и ориентировать свои статьи на использование языка для решения проблем, а не просто на объяснение функций языка Go.
Пожалуйста, дайте мне знать, будут ли эти статьи полезны для вас и как я могу их улучшить по мере того, как мы узнаем больше о Go.