Несмотря на то что Go - это еще очень молодой язык, он уже используется во многих очень важных системах интернета и его область применения будет расти. Поэтому изучение программирования на Go - это одна из лучших инвестиций для программиста на данный момент. В этой статье мы сделаем небольшое введение в программирование на Go.
Конечно, сложно охватить программирование go полностью в одной статье, но вы узнаете основы, которые помогут вам в дальнейшем. Но перед тем как перейти к рассмотрению языка, давайте поговорим про историю его развития и структуру. Статья рассчитана в первую очередь на тех, кто уже знает какой-либо Си подобный язык программирования, поэтому новичкам материал может показаться сложным, но им тоже может быть полезно. Я не говорю, что программирование на Go с нуля невозможно, просто для этого нужна более подробная литература.
Содержание статьи: История развития Go Программирование на Go 1. Синтаксис языка Go 2. Создание Hello World 3. Основы языка Go Выводы История развития Go
Язык Go элегантен и прагматичен, но некоторые его особенности имеют смысл только под определенным историческим контекстом. История Go начинается с Си. Во многих отношениях Си стал основой для создания JavaScript, Ruby, Python, C++, C# и Java. Компиляторы или интерпретаторы некоторых из этих языков даже написаны на Си. Влияние Си легко заметить во многих языках. Он был разработан Денисом Ритчи для создания ядра Unix и потом использовался для создания ядра Linux.
Язык Go был создан легендами эпохи Unix и Си. Работая Google, Роберт Грисемер, Роб Пайк и Кен Томпсон были разочарованы в Си-языках из-за их проблем. Бъярн Страуструп, создать C++ говорил так: "Си позволяет легко выстрелить себе в ногу, в C++ это сложнее, но если вы все же выстрелите, то взорвете ногу целиком".
Go наследует много хорошего от Си. Ключевые слова и сила синтаксиса, процедурный подход - это сильные стороны обоих языков. С другой стороны, ручное управление памятью и время компиляции - это проблема Си. Go решает эти проблемы с помощью сборки мусора, безопасной работы с памятью и очень быстрой компиляции.
Язык Java выбирают многие крупные компании с большими командами разработчиков. Go перенимает и этот плюс у Java и пытается быть отличным языком для больших групп разработчиков. Язык Go не имеет таких недостатков объективно ориентированного программирования, как наследование. Все реализуется с помощью лаконичного синтаксиса интерфейсов.
Также можно найти определенное сходство с динамическими языками, Go перенимает стиль написания кода у Python, настраиваемость у Ruby и простой параллелизм, вшитый в ядро языка, как у Node.js. Все начиналось, как язык, решающий некоторые проблемы Си и выросло в прекрасный язык программирования общего назначения. Программирование на Go
Перед тем как мы перейдем к примерам написания программ, хотелось бы немного поговорить про синтаксис языка.
1. Синтаксис языка Go
Самое главное о чем стоит сказать - это структура программы. Она чем-то похожа на Java и Python. Программа разделяется на так называемые пакеты Package, которые можно рассматривать как альтернативу include или модулей в Python. В дополнение package позволяют настраивать области видимости для переменных. Импортируется пакет в программу с помощью инструкции import:
import имя_пакета
Любая программа будет иметь переменные. Go - это язык со строгой типизацией, поэтому каждую переменную перед использованием нужно объявить и указать ее тип:
var имя_переменной тип
В именах переменных можно использовать русский язык. Но если сразу задать переменной значение, то язык сам определит ее тип:
var имя_переменной := значение
Вы также можете создавать указатели. Для этого просто добавьте звездочку перед именем переменной:
var *имя_переменной тип
Чтобы получить доступ к переменной, которая была объявлена внутри package из другого package важно заметить, что доступны извне только переменные, написанные с большой буквы:
имя_пакета.имя_переменной имя_пакета.имя_функции
Основные управляющие инструкции очень схожи по своему синтаксису с привычными в Си:
if условие { действия }
Цикл for тут точно такой, как и в Си, только без круглых скобок, так выглядит даже проще:
for i := 0; i
0 Комментарии