Size: a a a

2020 May 21

АП

Александр Попов... in Go-go!
оба они указывают на один массив, но по одному если range сделать получишь только 1 символ
источник

АП

Александр Попов... in Go-go!
значит там внутри должно хранится смещение и лимит от основного массива
источник

а

а кто это in Go-go!
Александр Попов
значит там внутри должно хранится смещение и лимит от основного массива
источник

а

а кто это in Go-go!
особо хитрые могут заметить что указатель отличается ровно на 16 байт — размер структуры string(ptr+len)
источник

АП

Александр Попов... in Go-go!
тоесть он сдвигает указатель?
источник

АП

Александр Попов... in Go-go!
и от него уже пляшет размером
источник

АП

Александр Попов... in Go-go!
хотя странно что у тебя в sub - cap 2, по идеи должен быть 3
источник

а

а кто это in Go-go!
с чего бы
источник

а

а кто это in Go-go!
мы выделили памяти на три строки — 48 байт
источник

а

а кто это in Go-go!
первую отрезали
источник

а

а кто это in Go-go!
сместили указатель на 16 байт
источник

а

а кто это in Go-go!
сколько осталось выделенной памяти?
источник

АП

Александр Попов... in Go-go!
я просто думал он немного по другому работает
источник

АП

Александр Попов... in Go-go!
всегда копирует указатель, но смещение хранит отдельным полем например
источник

а

а кто это in Go-go!
если ты сделаешь [0:2], то будет такой же указатель
источник

а

а кто это in Go-go!
и такой же капасити
источник

а

а кто это in Go-go!
только длина в два элемента
источник

АП

Александр Попов... in Go-go!
ну потому что len только подвинули
источник

АП

Александр Попов... in Go-go!
"взять все сначала массива до len"
источник

АП

Александр Попов... in Go-go!
и указатель указывает нам на начало массива, если 0 то указатель не трогаем
источник