Golang. Пишем генератор случайных паролей на Go.

Представляю вашему вниманию перевод статьи «Creating random, secure passwords in Go» автора Mihalis Tsoukalos. Пишем простой генератор случайных паролей на Go с помощью стандартной библиотеки. Генератор случайных чисел в Go это хороший вариант для генерации сложных к подбору паролей. Вы можете использовать генератор случайных чисел, предоставляемый языком программирования Go, для ПОДРОБНЕЕ

Интерфейсы в Go для повышения тестируемости кода

Интерфейсы в Go Интерфейсы  —  это абстракции, описывающие поведение различных типов, но не определяющие детали его реализации. Например, вы можете запросить и принять деньги от кассира в банке. Конечно, если деньги есть на вашем счёте. Или обналичить их у банкомата, который в этом случае будет “кассиром”. В обоих случаях интерфейс “кассир” ПОДРОБНЕЕ

Golang — изящная обработка ошибок

Несмотря на то, что в go предусмотрена простая модель ошибок, на деле все не так уж и просто. В данной статье я хочу рассказать вам об эффективном способе обработки ошибок и решения сопутствующих проблем. Для начала, необходимо понять, что именно считается ошибкой в go. Затем рассмотрим весь процесс, от создания ПОДРОБНЕЕ

Идеальная настройка вашего Golang проекта

Часть 1, Часть 2, Часть 3 При запуске нового проекта самые большие трудности у меня всегда вызывала его настройка. Всегда стараешься сделать её «идеальной»: используешь лучшую структуру каталогов, чтобы всё было легко найти и импортирование происходило без проблем; настраиваешь все команды так, чтобы нужные действия выполнялись в один клик или ПОДРОБНЕЕ

4 golang-сниппета, которые вводят в заблуждение разработчиков C#!

В лингвистике такое явление получило название ложные друзья переводчика, то есть слова, похожие по звучанию или написанию, но совершенно разные по значению. Например, английское слово buiscuit (печенье) и русское бисквит. С виду практически одинаковые, но последний переводится на английский как sponge cake. Это может привести к путанице. То же можно ПОДРОБНЕЕ

Введение в каналы Golang

Golang использует горутины для параллельного программирования. На них можно ссылаться как на подзадачи для приложения. Если вы новичок в Golang, то рекомендую для начала ознакомиться с концепцией горутин. Горутинам необходимы механизмы для связи между собой — каналы, которые гарантируют, что горутины и основной поток могут взаимодействовать друг с другом. В ПОДРОБНЕЕ

Топ-10 самых распространенных ошибок в проектах Go. Часть 1

Неизвестное значение enum Рассмотрим простой пример: type Status uint32 const ( StatusOpen Status = iota StatusClosed StatusUnknown ) Enum создан с помощью iota, что приводит к следующему состоянию: StatusOpen = 0 StatusClosed = 1 StatusUnknown = 2 Предположим, что тип Status является частью запроса JSON, и он будет маршализован или не маршализован. Можно ПОДРОБНЕЕ