Спасибо за материалы! Только собираюсь осваивать Go, после PHP. Понимаю, что видео не для обучения основам, но показалось не очевидным такое поведения увеличение ёмкости среза. Спросил ChatGPT, он мне выдал.. "Точный механизм изменения ёмкости может зависеть от различных факторов, таких как реализация компилятора Go или платформа, на которой выполняется программа. Поведение изменения ёмкости среза не является строго определенным стандартом языка Go и может различаться." Т.е. понятно, что задача с подвохом. Значит именно с этого надо и начинать рассуждать при подходе к этой задаче в ответ на неё, если к примеру решаем на бумажке и нет возможности сразу проверить с помощью `cap(x)`. Я правильно понимаю, что это именно проверка знаний на поведение и внимательность, а не на сам результат конечного вывода? Общий принцип понятен. Не понятно, почему во втором варианте вдруг ёмкость в конце становится на 2 больше. Хотя ChatGPT написал, что она может и удваиваться..
Вы сначала должны правильно сказать результат вывода, а потом объяснить, почему так. Если вы просто угадали, но не знаете, почему - то вряд ли пройдете дальше. На 2 больше становится длина слайса, а не емкость, потому что каждый аппенд увеличивает длину на 1.
странно слушать, что понимание функционирования языка способно делиться на джунов, мидлов и синьоров)) По идее же и джуны это всё знать должны. Мидлы и Сеньоры это уже про архитектуру и осознание задач))
спасибо огромной, что делишься такой уникальной информацией!
Спасибо за материалы!
Только собираюсь осваивать Go, после PHP. Понимаю, что видео не для обучения основам, но показалось не очевидным такое поведения увеличение ёмкости среза.
Спросил ChatGPT, он мне выдал..
"Точный механизм изменения ёмкости может зависеть от различных факторов, таких как реализация компилятора Go или платформа, на которой выполняется программа. Поведение изменения ёмкости среза не является строго определенным стандартом языка Go и может различаться."
Т.е. понятно, что задача с подвохом. Значит именно с этого надо и начинать рассуждать при подходе к этой задаче в ответ на неё, если к примеру решаем на бумажке и нет возможности сразу проверить с помощью `cap(x)`.
Я правильно понимаю, что это именно проверка знаний на поведение и внимательность, а не на сам результат конечного вывода?
Общий принцип понятен. Не понятно, почему во втором варианте вдруг ёмкость в конце становится на 2 больше. Хотя ChatGPT написал, что она может и удваиваться..
Вы сначала должны правильно сказать результат вывода, а потом объяснить, почему так. Если вы просто угадали, но не знаете, почему - то вряд ли пройдете дальше.
На 2 больше становится длина слайса, а не емкость, потому что каждый аппенд увеличивает длину на 1.
ахаха)) Нормально денёк сегодня Ростовский прошёл)
четвёртая охонь ))) связанные массивы прям)
Спасибо за крутые видео и полезный контент, с радостью пообщался бы лично👌🏻
t.me/eugene_toropov
на тех скрининге попадалась эта задача, так что смотрите)
Топчик контент
В четвертой задаче сделать
b := append(a[1:1], 'd')
тоже ништячно
да уж, с реслайсингом можно покувыркаться от души )
Джуны любят делать y = append(x,...) вместо копирования данных в новый слайс. Баги на проде уже такие ловились :)
Не было бы таких примеров на собесах - были бы нормальные Джуны 😂
a := make([]struct{}, 17, 17)
a = append(a, struct{}{})
fmt.Println("len: ", len(a))
fmt.Println("cap: ", cap(a))
Да, спасибо, что-то вроде такого - stackoverflow.com/questions/75348572/go-slices-capacity-increase-rate :)
sl := []int{5:2}
print(sl)
такое в интернете не найдёте :)
@@MaximRovinsky хорош! ) тебя реально такое спрашивали? )
А почему так? У нас же должна удваиваться капасити, если до этого она была меньше 256. А тут просто +1. Как?
@@user-lg7ww4pr6k надо посмотреть по исходному коду функции growSlice() и тогда поймешь)
странно слушать, что понимание функционирования языка способно делиться на джунов, мидлов и синьоров)) По идее же и джуны это всё знать должны. Мидлы и Сеньоры это уже про архитектуру и осознание задач))
Должны, но к ним больше снисхождения, если не знают.
Привет. Скажи, стОит ли писать erp-систему (узкоспециализированное) на Golang?
Понятия не имею ) не моя специфика
классно. теперь буду знать. (только воды много)
таймкоды проставлю, чтоб фильтровать можно было ;)
@@itkrasavchik а заставка - агонь. Догадываюсь, что ее нарисовало
@@MichaelKondrashin заставку нарисовала моя лень и немного midjourney ;)