Обновить
15
Георгий Тормозов@GoshariqChan

C# разработчик

3
Подписчики
Отправить сообщение

Как можно ошибиться при обработке ошибок в Go

Tе, кто до Go писал на языках с конструкциями try/catch, таких как Java и C#, наверняка испытывают легкое замешательство. Руки так и тянутся к try/catch заменителю — использованию recover в связке с defer — как к самому очевидному аналогу. Но это плохая практика и так делать не стоит. Давайте разберёмся, почему и как можно ошибиться при обработке ошибок в Go.

Теги:
Всего голосов 4: ↑4 и ↓0+5
Комментарии1

^ != <<

Знаете ли вы, что некоторые используют оператор '^' для возведения в степень? Хотя в ряде языков он действительно отвечает за возведение в степень, во многих популярных стеках разработки этот оператор выполняет операцию исключающего ИЛИ (XOR). Мы разберём, к каким последствиям приводит подобная путаница, и покажем реальный пример этой ошибки в механизме работы очереди внутри популярной библиотеки.

Теги:
Всего голосов 5: ↑5 и ↓0+6
Комментарии0

Go vet не поможет! Статический анализ Golang проектов с помощью PVS-Studio

На нем написан Docker, Kubernetes, Gitea и многие другие проекты самых разных масштабов. Наверное, вы догадались, что речь идёт о Go. Мы никогда не писали об ошибках на Golang проектах, но настало время это исправить, ведь скоро выйдет анализатор PVS-Studio для Go!

Статические анализаторы являются довольно распространёнными инструментами в разработке. В Golang есть встроенный механизм статического анализа — go vet. Однако стандартные линтеры не всегда справляются. Для тех, кто с нами не знаком, мы — компания PVS-Studio, занимаемся разработкой одноименного статического анализатора для C, C++, C# и Java. В последнее время мы активно занимаемся разработкой анализатора для Go и уже скоро планируем выпустить открытую бета-версию.

В новом материале расскажем, какие нашли ошибки в популярных Golang проектах.

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии0

Информация

В рейтинге
Не участвует
Откуда
Тула, Тульская обл., Россия
Работает в
Зарегистрирован
Активность

Специализация

Разработчик приложений
C#