идеи, для которых в более других языках нужно меньше буков
например?
да не знаю, хотя бы то как у них append устроен это какое-то издевательство
А что с аппендом не так, по мне удобен и два варианта есть, с автоматическим ростом и заранее заданного размера
В смысле что надо переприсваивать слайс, а старый невалидным становится? Или про nil vs пустой?
с одной стороны в языке есть магические полуфункции вроде make. А с другой стороне есть append который «а вот надо присваивать значение которое в него же передано потому что у нас может произойти переаллокация, как будто у нас не язык высокого уровня, а си ебаный»
То что тебе нужно держать в голове, что указатель переданный в append больше нигде использовать нельзя, то что в Go полно минных полей, которые нужно запомнить, то что это нарушает инкапсуляцию и просто хуевый UX
А мне ещё нравится что можно сделать x = dict[key] x, ok = dict[key] И больше нигде нет возможности опционально 2 или один результат вернуть
Хуже... в С ты можешь сделать вектор при желании... а append это такой хуевый realloc
Так вроде при возврате нескольких значений второе и далее можно игонрировать не?
Кстати, а зачем. Там же внутри зарыта ссылка на массив который реаллоцируется
Тайп ассерт с таким же синтаксисом
Потому что он передаётся по значению, а не по ссылке
Не не. Именно тут ты можешь в одну переменную присвоить или юзать в выражении. А можно в две. А во всех других местах если возвращаешь пару, значит пару. И в выражение уже не сунешь
А, действительно 🤔странно
Ну тут для перформанса сделано и когда делаешь массивы в которые грузишь дофига элелементов можно значительно ускорить процесс, если знаешь заранее сколько их будет. Сам работаю на гоу счас и часто это важно, чтобы не улететь по памяти
Обсуждают сегодня