Комментарии 8
Не понял - каким образом реклама бесплатного курса должна обогатить Степик? Но верю - обогатит, потому что относительно недавно, если у меня не эффект Манделы, конечно, я бы написал - прочитайте документацию и не касайтесь курсов. А сейчас так нельзя...
Я помню - на go.dev была документация по Го в виде связного текста который реально было прочитать. Сейчас я его не вижу. Есть байки и анекдоты, есть малочитаемая спецификация синтаксиса, есть официально устаревший (!) текст Эффективный Го. И как сейчас учить Го - то мне неведомо. Степик? Книги? Форумы? ИИ? Молитва? Жертвоприношение коня?
Пример 1. Про ловушку интерфейса в спецификации есть одна фраза - значение неинициализированной переменной типа интерфейса есть nil. Sapienti satis, естественно, но проскользи джун глазами мимо...
Пример 2. Про горутины, вообще-то, написано неверно - горутина может уйти в собственный поток смотря по тому, что и как блокируется, со всеми вытекающими для "сравнения". Где это сейчас написано - без понятия.
Кстати, сам факт что горутины в Го работают принципиально неизвестно как и никак не контролируются программистом - одновременно и главная сила и главная слабость Го. Если появилось желание на это возразить, мои юные джуны, то потестируйте горутины в принципиально однопоточной WebAssembly, проверьте не ускоряют ли они те же числа Фибоначчи, что кооперативная многозадачность делать в принципе не в состоянии, или просто вдумайтесь в смысл вами же написанного слова "M:N модель"...
Хорошая статья - уже сколько лет пишу на Го, некоторые моменты прям вызвали озарение "ах вот почему я всегда делаю так, а не иначе!"
Единое что Случайный выбор при нескольких готовых case — это баг, который называют фичей, что бы приучить новичков изначально не складывать ничего вариативного в select. Собственно простота и упрощения Голанда это его главная сила, хоть иногда и ценой неочевидной логики (слайсы ван лов, хотя по уму сделать нормально массивную логику ничего не мешало изначально)
Нате тогда вам задачку, если ту решили и знаете на нее ответ.
package main
import “fmt”
func main() { sum := “2”[0] + “2”[0] // Складываем две двойки fmt.Printf(“%x\n”, sum) }
В связи с тем, что ваш редактор сломал мой код, отправляю исправленный: package main
import “fmt”
func main() { sum := “2”[0] + “2”[0] fmt.Printf(“%x\n”, sum) }
Это нормальное поведение, если только твой язык не JS
Почитайте за руны и как вообще сформирована работа с символами в Go
Так то даже fmt.Printf(“%x\n”, “2”) будет 32
Два плюс два действтительно, получается 64, признаю — накосячил, т.к. занимаюсь Го только два дня, вроде правильно написал, а все ломает и ломает. А движок Хабра со слэшами просто добил код. Думал, задачу чекнут осторожные люди или старая гвардия, но лёхко ты её раскатал. Удачи с книгой под хайлоадом. А как бы ты написал здесь этот код чтобы не косячило?
с телефона написал
у хабра болезнь с разметкой на стадии "хронического заболевания" потому не заморачивайся сильно по этому поводу

10 вопросов на Go собеседовании, которые валят большинство джунов