Size: a a a

2020 April 26

zl

ziggy lucid in Go-go!
Roman Sharkov
срез на то и срез что указывает на определённый range массива
т.е. в недрах го, range - это что-то вроде метода для перечисляемых типов?
источник

АП

Александр Попов... in Go-go!
Roman Sharkov
конечно сохранит
ии? причем тут "неработающий" append, по идеи он должен добавить значения в оригинальный массив
источник

АП

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

RS

Roman Sharkov in Go-go!
ziggy lucid
т.е. в недрах го, range - это что-то вроде метода для перечисляемых типов?
вопрос не понятен

под “range” я подразумеваю индексы начала и конца среза
источник

ЛА

Локоть Анатолий... in Go-go!
Говорю же, слайс это структура со своими Лен и капасити.
Передав слайс в функцию, вы сделали копию этой структуры. Далее нарастили этой копии длину и изменили размер внутреннего массива (общего).
С чего бы должны поменяться длина и капасити слайса из Мейн?
источник

АП

Александр Попов... in Go-go!
Локоть Анатолий
Говорю же, слайс это структура со своими Лен и капасити.
Передав слайс в функцию, вы сделали копию этой структуры. Далее нарастили этой копии длину и изменили размер внутреннего массива (общего).
С чего бы должны поменяться длина и капасити слайса из Мейн?
не нарашивал, мы уже рассматриваем случай s := make([]int, 0, 100)
источник

ЛА

Локоть Анатолий... in Go-go!
Александр Попов
не нарашивал, мы уже рассматриваем случай s := make([]int, 0, 100)
Хорошо, капасити не трогали, но длины у них разные все равно
источник

а

а кто это in Go-go!
Александр Попов
не нарашивал, мы уже рассматриваем случай s := make([]int, 0, 100)
так я же показал, что если вырастить капасити, то окажется что слайс все таки изменился
источник

АП

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

АП

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

ЛА

Локоть Анатолий... in Go-go!
Александр Попов
при первом append мы должны были бахнуть в оригинальный массив
Да, массив поменялся
источник

а

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

ЛА

Локоть Анатолий... in Go-go!
Для обоих слайсов
источник

ЛА

Локоть Анатолий... in Go-go!
а кто это
что есть массив
unsafe.Pointer в структуре слайса
источник

zl

ziggy lucid in Go-go!
Roman Sharkov
вопрос не понятен

под “range” я подразумеваю индексы начала и конца среза
а какие индексы могут быть у nil?
источник

а

а кто это in Go-go!
есть кусок памяти
есть его используемая длина — len
и есть доступная  — cap
источник

АП

Александр Попов... in Go-go!
Локоть Анатолий
Для обоих слайсов
ой ли?
источник

RS

Roman Sharkov in Go-go!
Александр Попов
ии? причем тут "неработающий" append, по идеи он должен добавить значения в оригинальный массив
append как раз таки добавил значения в оригинальный массив и вернул вам новый срез, который указывает на весь актуальный массив. Если игнорировать вернувшийся срез и работать со старым то мы будем смотреть, в примере выше, на элементы 0 до 0, следственно мы ничего не увидим.

доказать что массив заполнился новыми значениями довольно просто: https://play.golang.org/p/7j27Yrwfmj8
источник

RS

Roman Sharkov in Go-go!
ziggy lucid
а какие индексы могут быть у nil?
у nil не могут быть, nil это непроинициалированный слайс
источник

АП

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