Комментарии 11
https://habr.com/ru/articles/1014664/#:~:text=Не зацикливаемся на слайсах
Привет! Тут разве не [9999 1 2 3 4] выведется?
Только что запустил на Go 1.25.5, вывелось `[4 1 2 3 4]`
Инженеры Google понимали, что без подводных камней, необходимости знать детали реализации языка и неконсистентного синтаксиса не о чем будет спрашивать на собеседовании.
Явно ставилась задача — сделать язык достаточно простым, но не настолько, чтобы собеседование мог пройти любой новичок.
Разве это глупость какая-то? Или тут мета-ирония спрятана?
Теперь я не понял ваше сообщение.
У меня в статье просто ирония. Подводные камни в ЯП появляются не специально, а как трейдофф. Пример: выигрываешь в читаемости — проигрываешь в перформансе, и/или бойлерплейте, и/или времени компиляции.
Го - кринге, а насчёт плюсов не соглашусь - довольно логичный и интуитивно понятный, без каких-то неожиданных приколов, язык (если специально не стрелять себе в ногу)
если специально не стрелять себе в ногу
Так можно про любой ЯП написать, про тот же Go. А с C++ не просто так же мемы появляются:
как выуычить C++ за 21 день

Это плюсы-то логичные и понятные?!? Пишу на них больше 15 лет, всё ещё продолжаю натыкаться на старые и новые приколы и стрелять по ногам совершенно непреднамеренно.
У вас код на расте как раз такой, как надо писать на го, чтобы не было проблем с ошибками. У вас в функции даже не участвует тип MyErr.
Чтобы соответствовать го необходимо написать:
let e: Option<Box<MyErr>> = None;
И поведение будет не такого, как описано у вас.

Go и искусство ставить подножку разработчику: разоблачение