Введение в язык GoLang для новичков!

Введение в язык GoLang для новичков!

Smart Droid

Здравствуйте, в этой статье мы познакомимся с базовым синтаксисом языка программирования Go и рассмотрим лучшие ресурсы для его дальнейшего углублённого изучения.

Go — молодой компилируемый многопоточный язык программирования, разработанный Google. Его разработка началась в сентябре 2007 и официально он был представлен уже в 2009 году.

Этот ЯП активно развиваться благодаря тому что его разрабатывают в open-source среде. Язык сразу пришёлся по вкусу многим разработчикам за счёт своей простоты и большого количества высокопроизводительных библиотек.

Go может рассматриваться как попытка создать замену языкам Си и C++ с учётом изменившихся компьютерных технологий и накопленного опыта разработки крупных систем.

В настоящее время Go большими темпами набирает популярность и уже используется многими компаниями. Список некоторых из них:

  • Google(ещё бы не использовать своё детище);
  • Uber;
  • Mozilla;
  • Intel;
  • Dropbox и ещё множество молодых tech компаний.


Содержание

  1. Пишем "Hello World"
  2. Переменные
  3. Массивы
  4. Условные конструкции: if else, switch
  5. Цикл for
  6. Дальнейшее изучение Go


1. Пишем "Hello World"

«Hello World» - это популярный способ для начала изучения ЯП. Для запуска кода нужно установить SDK. Go SDK можно скачать здесь.

После успешной установки SDK, нам необходимо записать свой первый фрагмент кода в файл с расширением .go и запустить его исполнение в командной строке. Для запуска используют команду: go run file_name.go

Код изображён на картинках, чтоб вы сразу начали писать на Go. Таким образом, те кто будут дублировать код из примеров, смогут быстрее запомнить все описанные ниже конструкции.

Команда fmt.Println() используется для отображения символов в консоли. Буква «P» после fmt. должна быть заглавной и в конце строчки нету точка с запятой!

В дальнейших примерах, для краткости первые три строчки будут скрыты, но вам не стоит их удалять, они нужны для корректного выполнения кода!

2. Переменные

Что же подразумевает термин переменная?

Переменная — это именованное хранилище данных которое мы с вами можем определять. В множестве ЯП также реализованы различные механизмы для хранения данных.

Для создания переменной достаточно написать следующую конструкцию:

Для создания переменной достаточно будет написать ключевое слов var (сокращение от англ. variable - переменная) и её имя. Для присвоения переменной конкретного значения (инициализации) используется знак '='. После него можно указать значение. Например: 123, 3.12, false, "string" и т.д.

Хоть Go и является строго типизированным языком, при инициализации переменных их тип указывать не обязательно(неявная типизация).

В примере присвоим переменным базовые типы данных которые предлагает Go:

Также для инициализации переменных доступен следующий синтаксис:

3. Массивы

Массив(англ. array) — это переменная которая может хранить в себе коллекцию из значений/переменных (одного типа) и предоставлять к ним доступ по индексу(номеру элемента в последовательности). Посмотрим, как инициализировать и объявлять массивы в Go:

Индекс — это номер элемента массива, по которому можно получить его значение, а также изменить его. Нумерация элементов начинается с нуля, соответственно первый элемент будет иметь нулевой индекс. Индекс указывают в квадратных скобках после имени массива.

4. Условные конструкции: if else, switch

Условные конструкции проверяют истинность некоторого логического выражения (a > b, a < b, a == b, a != b и т.д.) и в зависимости от результата проверки (true или false) позволяют направить ход программы по одному из описанных путей.

Конструкция if ... else

Конструкция if принимает условие - логическое выражение(возвращает значение типа bool). При истинности условия, выполняется блок инструкций внутри скобок.

Блок с else добавляется если указанное условие в if являться ложным и необходимо задать альтернативный ход выполнения.

Если необходимо проверить несколько альтернативных вариантов, после блока с оператором if, можно добавить, любое количество операторов else if.

Конструкция switch ... case

Конструкция switch проверяет значение выражения внутри круглых скобок. После операторов case определяются значения для сравнения. Если значение в switch совпадает со значением из case, код от знака ':' до следующего case оператора или же закрывающей скобки switch, будет выполнен.

В качестве выражения конструкция switch использует переменную a. Ее значение последовательно сравнивается со значениями после операторов case.

Блок default не обязательно указывать, он выполняется если ни один из кейсов не совпал с выражением внутри switch.

5. Цикл for

Блок-схема цикла for

Циклы позволяют в зависимости от определенного условия выполнять некоторые действия множество раз. В Go есть только один цикл - for, который может принимать разные формы. Посмотрим как определить этот цикл:

Объявление цикла for разбивается на три части:

Первая часть это инициализация счетчика i := 1. Фактически это объявление переменной, которая будет использоваться лишь внутри цикла. В примере счетчику i присвоили начальное значение 1.

Вторая часть это условие: i < 10. Пока это условие истинно, то есть выражение (i < 10) == true, цикл будет продолжаться.

Третья часть это изменение (увеличение/уменьшение) значения счетчика в зависимости от указанного вами действия:

  • увеличить i на 1: i++
  • уменьшить i на 1: i--

После объявления, внутри кавычек описывается тело цикла. В примере на консоль выводится квадрат числа i.

Цикл из примера сработает только 9 раз, пока значение i не станет равным 10. Каждый отдельный проход цикла по своему телу называется итерацией.

В примере 1 итерация это увеличение значения i на 1.

Также условные конструкции и конструкции циклов могут быть вложенными друг в друга. Рассмотрим пример программы для вывода таблицы умножения:

Перебор массива

Для перебора массивов можно использовать следующую форму цикла for:

for индекс, элемент_по_индексу := range имя_массива { // тело цикла }

Оператор continue используется когда при определенных условиях, нужно завершить текущую итерацию цикла и сразу же перейти к следующей итерации. В пример выше, мы не хотим выводить элементы массива со значением "Nibbles", в таком случае стоит воспользоваться continue.

Оператор break следует используется если необходимо полностью выйти из цикла и продолжить выполнение кода после него.

Дальнейшее изучение Go

В этой статье затронуты лишь некоторые основы языка и упущено некоторые детали для простоты изложения. Если вас заинтересовал язык Go, обратите внимание на более подробные материалы, лучше всего язык описан на сайте с официальной документацией golang.org. Также можно найти множество материалов на русском на сайтах golangs.org, metanit.com и т.п.

Более того, в сети доступен интерактивный курс по Go со встроенной в браузер средой выполнения tour.golang.org. Помните что теория гораздо лучше усваивается вместе с практикой. Весёлого вам изучения!


Спасибо за внимание! Надеемся эта статья была вам полезной.

Подписывайся на наш канал, всё лучшее впереди!

Report Page