Здравствуйте, SkyDance, Вы писали:
G>>Видимо от тех кто пишет на Го
G>>Им же кайф все время писать <error bubble wrap>
SD>Я же специально написал: error bubble wrapping — тот самый случай, когда exceptions переизобретаются в очередной раз (и в очередной раз криво, т.к. теряется стек, и непонятно, где же возникла исходная ошибка, — nil и nil, угадывай сам).
А чем этот случай лучше чем "do or die" или "мамой клянусь" оператор? Или "value or else" ? Они все примерно в том же контексте используются
G>>(кстати идо сих пор не могу запомнить чем := отличается от просто =)
SD>
SD>О чем я и писал: не всегда сразу очевидно, где нужно ?, где ??, и нет ли какого-нибудь ?| (ведь нет же, а?)
Я не пишу на Go, поэтому запомнить не могу. А на C# пишу и не испытываю проблем со чтением всех современных операторов.
G>>В Rust сделали оператор ? чтобы не писать как в Go. При этом сделали не сразу, кажись после 1.0 добавили.
SD>Именно это и есть правильный подход. Не сразу все подряд лепить, а тщательно выбирать, что нужно и что не очень.
А с другой стороны есть zig, где сразу все значки добавили и выглядят он там органично и непротиворечиво.
G>>В C# не так много символов чтобы путаться, странно что это вызывает проблемы.
SD>А кто чуть выше написал вот это: не могу запомнить чем := отличается от просто =
Фишка в том, что в C# в разных контекстах используется
?. и
?? не получится заменить один на дугой и получить код похожий на валидный. А в го с
= и
:= — вполне.