Size: a a a

2020 April 26

RS

Roman Sharkov in Go-go!
Александр Попов
но s снаружи не заполняется
размера s недостаточно, следственно аллокейтится новый срез
источник

A

Aikidos in Go-go!
не понимаю спора. берёте, создаёте бенчи и тестите
источник

A

Aikidos in Go-go!
что там сколько занимает и съедает
источник

а

а кто это in Go-go!
Aikidos
не понимаю спора. берёте, создаёте бенчи и тестите
при чем здесь бенчи
источник

A

Aikidos in Go-go!
а кто это
при чем здесь бенчи
?
источник

а

а кто это in Go-go!
как всегда, слышал звон, не знает где он
источник

АП

Александр Попов... in Go-go!
Roman Sharkov
размера s недостаточно, следственно аллокейтится новый срез
но тогда типо он должен быть заполнен при s := make([]int, 0, 10)
источник

АП

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

zl

ziggy lucid in Go-go!
Локоть Анатолий
Аппенд создал вам новый слайс, но этот слайс остался в функции
источник

A

Aikidos in Go-go!
а кто это
как всегда, слышал звон, не знает где он
источник

zl

ziggy lucid in Go-go!
Александр Попов
но тогда типо он должен быть заполнен при s := make([]int, 0, 10)
надо по ссылке передавать в функцию
источник

RS

Roman Sharkov in Go-go!
Александр Попов
но тогда типо он должен быть заполнен при s := make([]int, 0, 10)
чем заполнен?
источник

АП

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

ЛА

Локоть Анатолий... in Go-go!
Александр Попов
пересоздание внутреннего указателя там явно нет
При аппенде возможно копирование внутреннего массива при изменении капасити. Поэтому лучше сразу угадать с капасити, чем потом копировать на каждый аппенд.
https://github.com/golang/go/blob/master/src/runtime/slice.go#L188
источник

zl

ziggy lucid in Go-go!
Александр Попов
нетъ, по хорошему должно работать и без ссылки
по логике - да, ведь тип-то ссылочный
а по факту нет
источник

АП

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

а

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

zl

ziggy lucid in Go-go!
а там же выделяется внутри функции новая область памяти, но тот указатель который остался снаружи продолжает указывать на старую область
https://play.golang.org/p/VQtfd1xJwbO
источник

ЛА

Локоть Анатолий... in Go-go!
ziggy lucid
по логике - да, ведь тип-то ссылочный
а по факту нет
Он не ссылочный - слайс это структура, со своими лен и капасити. Общая у них ссылка на массив, но массив как я выше написал, лёгким движением руки копируется при аппенде и вуаля слайсы уже содержат ссылки на разные массивы
источник

zl

ziggy lucid in Go-go!
указатель ведь тоже тип переменной
источник