🌈 Дженерики в Го — история одной фичи

Пост из канала Thank Go! Три главные фичи неустанно обсуждаются в го-комьюнити с начала времён: нормальное управление зависимостями, дженерики, обработка ошибок. Начиная с Go 1.11, первый вопрос был решён уже в бета-версии, а в релиз Go 1.13 вошла окончательная версия Go Modules — решение всех проблем, связанных с управлением зависимостями и публикацией модулей. Но вот остальные два вопроса продолжают быть «самыми желанными фичами». Дженерики — лидер с большим отрывом, начиная с 2016 года.
Дальше →

✍️ Беспощадные строки в Go 2

Пост из канала Thank Go! Начало истории Вернёмся к нашим любимым строкам. В прошлый раз мы разобрались как работают слайсы в Го, а теперь давайте вернёмся к утверждению, что «строки — это слайсы байт». Возьмём строку в разных представлениях (в байтах и рунах) и попробуем её изменить. s := "hello" b := []byte(s) r := []rune(s) b[0] = 98 // 'b' r[0] = 'r' fmt.Printf("%s %s %s\n", s, string(b), string(r)) >> hello bello rello А если изменить что-то в строке?
Дальше →

🗃 Слайсы в Golang

Пост из канала Thank Go! Вроде бы запомнили, что строки в Го — это слайсы байт. Но следует признаться, что я вас обманул, и все не так просто. На самом деле слайс в Го — это простая структура, содержащая только указатель на массив, длину и ёмкость слайса. Никаких данных в самом слайсе нет, они лежат в массиве. Вот тут было сложно, поэтому кратко по порядку. Массив Структура индексированных элементов фиксированного размера.
Дальше →

▶️ Язык программирования как продукт

Пост из канала Thank Go! В приветствии канала мы обещали, что посмотрим на язык программирования, как на продукт. Затянувшийся разговор беспощадных, но довольно скучноватых строках в гошечке, вряд ли является таким взглядом. Давайте немного передохнём и переключимся (но мы к ним обязательно вернемся!). В 2012 году Golang из инструмента решения конкретных задач конкретной компании становится более открытым миру. Этому способствует выход версии 1.0 и обновление сайта с добавлением плейграунда. Именно на последнем пункте мы и остановимся.
Дальше →

✍️ Беспощадные строки в Go

Пост из канала Thank Go! Что есть строка? Начнём разбираться со строками. В начале посмотрим, как же это все работает, а потом попробуем ответить на наш любимый вопрос — кому все-таки нужны такие сложности? На первый взгляд всё очень просто: строка в Го — это слайс байт. Всё, на этом можно было бы и закончить, если бы не одна мелочь — в конечном итоге строки читают люди. А значит где-то тут должны появиться символы языка, понятные человеку.
Дальше →