DevGang
Авторизоваться

10 особенностей Go, которые отличают его от других языков. 

Что касается языков программирования, Golang довольно молод. Впервые он был выпущен 10 ноября 2009 года. Его создатели Роберт Гриземер
Роб Пайк и Кен Томпсон работали в Google, где проблема массового масштабирования вдохновила их на создание Go как быстрого и эффективного решения для программирования проектов с большими объемом кода, управляемыми несколькими разработчиками, имеющими строгие требования к производительности и охватывающими несколько сетей и ядер обработки.

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

В этой статье я расскажу о 10 особенностях Go, которые (по моим личным наблюдениям) отличают его от других языков.

Создание автоматического расписания (планировщик заданий Cron) с помощью Golang 

Иногда в приложении есть задачи, которые необходимо выполнять автоматически по заранее определенному расписанию. Например, когда мы получаем автоматические электронные письма, содержащие новогоднее поздравление, уведомления о повестке дня каждый будний день в 8:00, выставление счетов каждый месяц 10-го числа в 9:00, проверку новых заказов каждые 10 минут и т.д. В этой статье будет рассказано, как создать автоматическое расписание с помощью golang.

Структурирование вашего приложения Golang: плоская структура против многоуровневой архитектуры

Создание отличного приложения начинается с его структуры. Структура приложения задает тон для разработки приложения, и важно сделать это правильно с самого начала.

Golang - относительно простой язык, в котором нет мнения о том, как должны быть структурированы приложения. В этой статье мы рассмотрим два основных способа структурирования приложения Go.

Прежде чем мы продолжим, важно отметить, что ни одна структура не идеальна для всех приложений. Некоторые из того, что мы рассмотрим, может не подходить для вашей библиотеки или проекта. Однако вы должны понимать, что доступно для использования, чтобы вы могли легко решить, как лучше всего создать свое приложение.

Понимание go.mod и go.sum 

В этом блоге я постараюсь осветить основы go модуля, как работает управление зависимостями в проектах GoLang.

Go: вы должны знать это, прежде чем использовать Defer 

Defer - одна из моих любимых вещей в Go. Вы можете использовать его, чтобы убедиться, что операция выполняется до возврата из функции. Это очень полезно. Я думаю, что почти все программисты Go, если не все, использовали оператор defer в своих приложениях. Но есть одна вещь, которую вы должны знать, прежде чем использовать defer в Go.

OpenStreetMap (OSM) - запрашивает пользовательские данные для областей (полигонов) с помощью Golang и Protobuf. 

В текущем проекте передо мной стояла задача получить конкретные данные для определенных областей (округов и городов), например зеленых зон (парки, леса и т.д.). С самими данными мы производим некоторые вычисления, но здесь не об этом. Более захватывающим является понимание того, как мы получаем эти данные. Для этого мы прошли несколько итераций и должны были найти лучший для нас способ. Я хотел бы показать вам, какой способ был для нас наиболее успешным, на примере Golang и некоторого Python. Мы разделили проект на две части.

Увеличьте «мощность» обработки Golang с помощью контролируемого рабочего пула 

Это будет краткое описание, если вы не использовали возможности go-рутины, чтобы сделать процесс вашего приложения «быстрее». В этом примере мы сделаем простую симуляцию выполнения функции, которая имитирует «медленный процесс», выполнение которого занимает 1 секунду, и мы собираемся вызвать эту функцию несколько раз с другим параметром (для имитации другого ввода / обработки).

Узнайте о Fiber, новой платформе веб-разработки Golang 

Этот фреймворк меня восхищает, потому что он действительно ориентирован на веб-разработку, что мне очень нравится.

Это фреймворк, вдохновленный фреймворком Node.js Express и построенный на основе Fasthttp. И, как и другие фреймворки, он очень помогает вам начать создавать свои веб-приложения на Go.

Создание базового RESTful (CRUD) с помощью Golang и MySQL 

Мы будем разрабатывать приложение, которое предоставляет базовый сервер REST-API для операций CRUD для управления пользователями (id, firstName, lastName, age).

Golang встраиваем статику в двоичный файл (с примером сборки React) 

Известно, что Go создает статически связанные двоичные файлы без каких-либо зависимостей во время выполнения. Статические двоичные файлы отлично подходят для развертывания, поскольку для них нужен только один файл, что снижает вероятность возникновения проблем, связанных с envionment.

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

В подарок 100$ на счет при регистрации

Получить