Size: a a a

2020 April 18

GC

Great Cornilio in Go-go!
Roman Sharkov
https://play.golang.org/p/usYCWANKFO6

компилятор с вами несогласен
1) не пустой массив а nil-слайс, смекаете?
2) то что у nil есть тип - это норма. то что вашь слайс есть nil - это не пустой массив, так-то.
источник

C

Calculon in Go-go!
Calculon
Но и в не nil слайс тоже, если индекс выходит за пределы
Тем не менее писать в nil слайс можно а в мапу нет
источник

DP

Daniel Podolsky in Go-go!
А зачем мапу аллоцировать?
источник

RS

Roman Sharkov in Go-go!
Daniel Podolsky
А зачем мапу аллоцировать?
ну тут на самом деле от задачи зависит)
источник

DP

Daniel Podolsky in Go-go!
Все равно - можно так же Nil вернуть. range Отработает нормально
источник

RS

Roman Sharkov in Go-go!
можно конечно и просто nil вернуть
источник

C

Calculon in Go-go!
Daniel Podolsky
Все равно - можно так же Nil вернуть. range Отработает нормально
если принимающая сторона туда что то пишет?
источник

C

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

DP

Daniel Podolsky in Go-go!
И не его головная боль мапу инициализировать
источник

zl

ziggy lucid in Go-go!
Calculon
Тем не менее писать в nil слайс можно а в мапу нет
это ведь неочевидные вещи
какие-то грязные хаки
я вот про такое не знал и ожидал бы паники в любом случае
источник

GC

Great Cornilio in Go-go!
Daniel Podolsky
И не его головная боль мапу инициализировать
его головная боль мапу вернуть.
если в результате мапа получилась пустая - вернуть надо пустую мапу а не нил. нил должен быть только если рядом ошибка, а если её нет,возвращаемые  данные должны быть готовы к работе, имхо
источник

zl

ziggy lucid in Go-go!
в следующей версии такую фичу убрать могут
источник

C

Calculon in Go-go!
Great Cornilio
его головная боль мапу вернуть.
если в результате мапа получилась пустая - вернуть надо пустую мапу а не нил. нил должен быть только если рядом ошибка, а если её нет,возвращаемые  данные должны быть готовы к работе, имхо
+
источник

GC

Great Cornilio in Go-go!
я и nil-слайсу вместо пустого расстроился бы
источник

C

Calculon in Go-go!
ziggy lucid
в следующей версии такую фичу убрать могут
это где такое написано?
источник

DP

Daniel Podolsky in Go-go!
Great Cornilio
его головная боль мапу вернуть.
если в результате мапа получилась пустая - вернуть надо пустую мапу а не нил. нил должен быть только если рядом ошибка, а если её нет,возвращаемые  данные должны быть готовы к работе, имхо
думает @edkliff
источник

C

Calculon in Go-go!
произошел троллинг
источник

zl

ziggy lucid in Go-go!
Calculon
это где такое написано?
нигде
я только что про это узнал, что на nil-срезе можно range и append применять
источник

RS

Roman Sharkov in Go-go!
Daniel Podolsky
И не его головная боль мапу инициализировать
ну вообще по хорошему да, не его ответственность.

Если тебе сказали что мапа есть, будь добр, проверь пуста ли она прежде чем в неё чего либо пихать.

Иначе мы просто создаём лишнюю аллокацию на ровном месте. Может мне лишь надо убедиться что данная мапа имеется и делать с ней я ничего не собираюсь - зачем в таком случае данная аллокация?
источник

zl

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