✍️ Беспощадные строки в 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! Вроде бы запомнили, что строки в Го — это слайсы байт. Но следует признаться, что я вас обманул, и все не так просто. На самом деле слайс в Го — это простая структура, содержащая только указатель на массив, длину и ёмкость слайса. Никаких данных в самом слайсе нет, они лежат в массиве. Вот тут было сложно, поэтому кратко по порядку. Массив Структура индексированных элементов фиксированного размера.
Дальше →