Что: 9425ee6ed097e608340912647fa97b817d093cbd
Когда: 2019-10-19 00:05:20+03:00
Темы: go
Всё гениальное -- просто. Особенно в Go https://blog.golang.org/go1.13-errors Прочитал сегодня вот блогпост о добавлении всего двух фунок в errors библиотеку в Go и о том, что могло бы быть полезно добавлять ровно один простой Unwrap() error метод в свои ошибки. Но они показывают зато насколько можно упростить код (и повысить читаемость) этими простейшими изменениями/советами. Ничего из этого не пробовал, явно должно пройти прилично времени чтобы осознать и прочувствовать всю красоту и мощь нововведений касающихся обработки ошибок, но чувствую что это дико понравится! И не могу нарадоваться удобству работе с модулями. Сколько лет сидел на Python и постоянно страдал от их убогого пакетного менеджера, невозможности использования разных версий одной библиотеки, невозможности прибить гвоздями не только версию, но вот и чётко заданных хэш для её аутентификации. Модули в Go очень просты, топорны и очень продуманны! Причём и для use-case-а "я всему доверяю, хочу просто сделать go get и получить счастье", до use-case-а когда хочу в tarball всё чётко прибитое гвоздями самостоятельно помещать. Сегодня вот релизил GoGOST и перед релизом надо проверить эту новую версию в составе стороннего ПО. "redirect" директива в go.mod прозрачно позволяет использовать моё обновление. Удаляем потом эту одну строчку после релиза и начинает использоваться модуль скачиваемый извне. Возможность разбиения пакета на любое количество файлов -- невероятно удобно! Просто нарадоваться не могу этому уже сколько лет. Опять же, сегодня надо было перенести часть некоторых фунок в GoGOST, вынести их из внутреннего проекта. Почти всё закончилось просто переносом нескольких файлов и изменению package XXX в них. Ведь всё вышеперечисленное так просто сделать, но додуматься до этого дано не всем, чему завидую!
Сгенерирован: SGBlog 0.34.0