Pull to refresh

Comments 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, признаю — накосячил, т.к. занимаюсь Го только два дня, вроде правильно написал, а все ломает и ломает. А движок Хабра со слэшами просто добил код. Думал, задачу чекнут осторожные люди или старая гвардия, но лёхко ты её раскатал. Удачи с книгой под хайлоадом. А как бы ты написал здесь этот код чтобы не косячило?

с телефона написал

у хабра болезнь с разметкой на стадии "хронического заболевания" потому не заморачивайся сильно по этому поводу

Бывает. Слушай, а может сделать им небольшое одолжение и закинуть готовое решение в багтрекер? Там работы-то всего минут на двадцать, как раз между чисткой зубов и снятием носков перед сном набросать правильный парсер. А то ведь так и будут годами мучаться с этой разметкой. 😉

Sign up to leave a comment.

Articles