
Dmitry
09.01.2018
16:12:25
Где посмотреть, как устроена мапа внутри го? Я имею в виду исходный код

Daniel
09.01.2018
16:12:41
в гугле

Quet
09.01.2018
16:13:43

Dmitry
09.01.2018
16:14:07
да, я нашел уже

Google

Dmitry
09.01.2018
16:14:09
спасибо

Slach
09.01.2018
16:31:37
https://play.golang.org/p/JAf0H8qgxIl
Народ, а вот кто как бы реструктурировал такой код?
покритикуйте пожалуйста
с одной стороны можно конечно декомпозировать на несколько функций, но тогда придется return err делать в этих функциях и делать return чтобы сработал defer в основной
=) я понимаю что CH не транзакционный но я просто хочу подобный подход применить для транзакционности в PgSQL и MySQL в дальнейшем

xPushkin
09.01.2018
16:36:06
Друзья, насколько правильно данное решение - мап функций с ресивером
https://play.golang.org/p/zGcPYPkeNbx

Daniel
09.01.2018
16:36:43
нормально, только непонятно, зачем

xPushkin
09.01.2018
16:37:27
Мне удобно хранить функции в мапе чтобы по string key их вызывать

Daniel
09.01.2018
16:37:42
чтобы что?
ну вот реально - чтобы что?

Slach
09.01.2018
16:38:00
у тебя этот string key откуда то снаружи передается?

xPushkin
09.01.2018
16:38:05

Daniel
09.01.2018
16:38:25

xPushkin
09.01.2018
16:39:13

Daniel
09.01.2018
16:39:24
и проблемы будут отловлены при компиляции, а не при работе

Google

xPushkin
09.01.2018
16:40:13

Daniel
09.01.2018
16:42:56
медленнее

xPushkin
09.01.2018
16:43:20
Поясните пожалуйста почему, если не сложно.

Mush
09.01.2018
16:45:28
инструкция в коде скомпилирована, а залезть в мапу - это динамисческий доступ

xPushkin
09.01.2018
16:46:37

Mush
09.01.2018
16:46:56
да, он при этом не лезет в переменную типа мап

xPushkin
09.01.2018
16:47:49

Mush
09.01.2018
16:48:03
вряд ли, это в коде выглядит коротко

Marlik
09.01.2018
16:48:05
Хм, чот фигня какая-то, ЧЯДНТ?
gox -build-toolchain
Программа 'gox' на данный момент не установлена. Вы можете установить её, выполнив:
sudo apt install gox

Alex
09.01.2018
16:48:51
Интересно, какие значения будут

Slach
09.01.2018
16:49:20
Да
снаружи в смысле за пределы процесса?

xPushkin
09.01.2018
16:53:31
Что быстрее - свитч на 100 кейсов или мапа с функциями

Mush
09.01.2018
16:54:24
существенной разницы быть не должно
но немножко выйдет вперед свитч

Slach
09.01.2018
16:54:41

xPushkin
09.01.2018
16:55:00

Aleksandr
09.01.2018
16:55:51

Daniel
09.01.2018
16:56:01
потому, что смещение для джампа задается статически, и, скорее всего, соответствующий код будет в кеше