Программное обеспечение занимает ключевую роль в мире — от него зависят все основные сферы жизни человека. Здесь на сцену выходит множество разных языков, у каждого из которых свои свойства и выполняемые задачи.
В этом курсе мы познакомимся с языком Go. Среди его особенностей можно упомянуть:
- Кросскомпилируемость. Программу на Go можно скомпилировать почти под любую известную платформу, для этого нужно всего лишь указать верные параметры при сборке
- Простой вендоринг. Собранный исполняемый файл может включать в себя все необходимые для работы пакеты
- Высокая скорость компиляции. Есть даже шутка, что Go придумали за 45 минут, пока компилировался проект на другом языке
- Простая система типов. Можно писать типобезопасный код с той же легкостью, как в динамических языках
- Низкая нагрузка на систему. Программы на Go работают через параллельную композицию процессов, у которых нет общего состояния. Они легче, чем потоки — поэтому даже тысяча процессов не создает серьезной нагрузки
- Автоматическая сборка мусора. Язык сам управляет памятью, что облегчает задачу для программиста
Отметим, что здесь не встретятся прототипы, свиззлинг, расширение типов, наследование, перегрузки функций и операторов. В Go нет ничего, что может неочевидно добавить новый функционал участку кода.
Но чтобы писать код на любом языке программирования, нужно сначала настроить свое рабочее окружение, и GO — не исключение. В этом курсе мы установим и настроим Go, научимся добавлять сторонние библиотеки, а также создавать и публиковать их.
После настройки окружения вы напишете свою первую программу на Go, познакомитесь с контролем качества кода и изучите систему модулей. По итогам курса вы сможете добавить в свое портфолио простую программу на Go.
Если вы уже писали на Go, и у вас уже все настроено, тогда курс поможет освежить знания. Если опыта работы с Go еще нет, тоже можете не волноваться — установить инструментарий для Go довольно просто.
Цели курса
В общем, этот курс поможет вам:
- Настроить локальное окружение для запуска Go-кода
- Научиться компилировать и запускать программы на Go
- Познакомиться со структурой проектов на Go
- Создать собственные пакеты и модули на Go и опубликовать их
Как подготовиться к курсу
Перед началом курса мы рекомендуем:
- Перейти на операционную систему, удобную для разработки — например, Ubuntu или MacOS
- Если вы не хотите менять операционную систему и пользуетесь Windows, настройте Windows Subsystem for Linux (WSL) по нашему гайду «Как работать с Linux, используя Windows»
- Научиться запускать терминал и выполнять команды в нем
Самостоятельная работа
-
Создайте репозиторий на Github с именем hexlet-go по этой инструкции
-
Клонируйте репозиторий в домашнюю директорию на своем компьютере
-
Добавьте в README.md текст
Мой проект на Go
-
Добавьте все изменения на Github
Дополнительные материалы
- Standard Go Project Layout
- Как работать с Linux, используя Windows
- Основы командной строки
- Введение в Git
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.