
Artem
18.05.2018
15:04:08

Oleg
18.05.2018
15:21:23

Илья
18.05.2018
15:24:07


Sheldon
18.05.2018
15:32:19
примерно так. Дженерики мало кому нужны. Для особо упоротых есть github.com/ncw/gotemplate . Только почему-то дальше парочки стандартных структур (list, ring, set, heap) и алгоритмов (sort) дело не пошло. Причем необходимость list и ring высосана из пальца:
— вместо list проще и эффективнее использовать стандартный слайс
— ring используется чуть меньше, чем в одном проекте на миллион, где проще написать один раз реализацию этого ring под конкретный тип в 10 строчек.
Set тоже легко заменяется стандартной map[key]struct{}, хотя синтаксический сахарок тут уже поприятнее.
Остается лишь дженерики для heap и sort, которые необходимы лишь в небольшом проценте оптимизированных по скорости программ, где стандартные heap и sort на интерфейсах не подходят из-за накладных расходов на вызов интерфейсных функций.
Приведите примеры из настоящих программ, где еще могут понадобиться эти дженерики? вот только если у вас есть трудности с пониманием того, чем настоящая программа отличается от академического плана - лучше не надо
> примеры из настоящих программ, где еще могут понадобиться эти дженерики
Генерики нужны в первую очередь для библиотек, иначе в этих самых "настоящих программах" каждый раз будут велосипеды изобретать.

Google

Stanislav
18.05.2018
15:32:54
щас бы спрашивать зачем нужны дженерики

Sheldon
18.05.2018
15:34:12

Stanislav
18.05.2018
15:34:33
ну гоферам ничего не нужно это понятно

Алексей
18.05.2018
15:35:54
лол, опять дженерики обсуждают

Stanislav
18.05.2018
15:36:15
а помимо очевидных контейнеров дженерики нужны хотябы чтобы сделать нормальный тип возвращаемого значения библиотечных функций

Aleksandr
18.05.2018
15:36:47
коллеги, предыдущий многочасовой спор остановлен административно

Stanislav
18.05.2018
15:37:19
я бы поспорил является ли нужность дженериков спором вообще...

xPushkin
18.05.2018
15:38:12

Aleksandr
18.05.2018
15:38:43

Alexander
18.05.2018
15:41:36

Антон
18.05.2018
15:43:02

Aleksandr
18.05.2018
15:43:46
если два часа по кругу одно и то же, то надо найтив себе силы остановиться

Google

Nazary
18.05.2018
15:48:02
Ребзя, а чё это го тут так сосет
https://github.com/kostya/benchmarks/blob/master/README.md
В некоторых пунктах прям дико

Alexander
18.05.2018
15:56:51
В Go очень много делается через рефлексию, которая отнюдь не бесплатно. Кроме того не раз видел код, где паники ловят через recover, что тоже не бесплатно. Ну и GC у Go пусть и отрабатывает с очень мелкими задержками всё равно является одним из самых медленных.

Илья
18.05.2018
16:13:42

OZR
18.05.2018
16:15:42
4п

Илья
18.05.2018
16:15:46
например, в json сравнивают serde_json из раста, rapidjson из плюсов и коробочный в go
что хотел сказать автор этим тестом? :)

The
18.05.2018
16:16:18
синтетические тесты обычно сами по себе плохие. чисто пописькомерить норм, но когда дело доходит до реальных кейсов, все кардинально меняется.

Илья
18.05.2018
16:17:17
да там сравнивается все подряд со всем подряд
и еще и код внутри разнообразный

Alexander
18.05.2018
16:28:20

Илья
18.05.2018
16:32:27
Эм, и? В go есть несколько быстрых библиотек, если упираешься в парсинг берёшь любую из них, а что мерял автор я не знаю

Alexander
18.05.2018
16:34:02

Илья
18.05.2018
16:34:34
Зачем? Я вообще не понимаю, что меряет автор

Alexander
18.05.2018
16:39:08

Aleksandr
18.05.2018
16:43:06
что меряет понятно. сравнивать нечего

Илья
18.05.2018
16:43:28
что смотреть? зачем? где методика? если инетерсно как пишут бенчи - смотрите нормальные бенчмарки, где хоть понятно что люди хотят достичь, пример тот же easyjson или benchmarksgame-team, там люди сравнивают яблоки с яблоками

Alexander
18.05.2018
17:02:06

Google

Илья
18.05.2018
17:05:55
к чему это вы? Да у go есть места (непример работа с деревьями) где он медленее, но при чем здесь "Ребзя, а чё это го тут так сосет"?

Alexander
18.05.2018
17:06:04
Го - не самый быстрый яп из существующих и на это есть множество причин. Какой смысл спорить с этим мне решительно непонятно.

Илья
18.05.2018
17:08:23


Kirill
18.05.2018
17:27:49
Не бесплатно - это сколько?
Ну вообще, не сказать что я прямо обеспечу кого-то ощутимым заработком, во всяком случае сейчас. Скорее моя цель - найти человека к которому я смогу обращаться с вопросами и общаться, может каким-либо образом сотрудничать потом, нетворкинг в общем. 10-20$ в час я думаю могу оторвать от своей джуновской груди
@zelenin
Просто чат очень крутая штука, естественно я сюда тоже пишу\читаю, (кстати очень круто, год тому тут было по моему 600 человек, а сейчас уже больше 1.5к) но иногда расписывать полностью проблему - достаточно долго, и людям нужно дополнительно погружаться в контекст. В общем я могу задать тут вопрос вроде что использовать\что почитать\почему что-то происходит.
Но если это цепочка вопросов, то мне кажется проще в личном порядке составить их и задать, чем тут спамить 5-10 вопросов подряд )


Andy
18.05.2018
18:09:42
Добрый день!
А есть способ быстро распаковать msgpack неопределенной структуры? Я вижу, как оно распаковывает только первый уровень, а дальше – нет. Вложенные структуры в виде массива байтов

Vadiimmm:-)))
18.05.2018
19:26:57
https://github.com/andlabs/ui
щупал кто?)

tsov
18.05.2018
20:59:25

Stanislav
18.05.2018
21:02:39
хтмл надо рендерить на жс

Виктор
18.05.2018
21:05:21

Stanislav
18.05.2018
21:05:48
а вы не в курсе еще ?
хотя смотря какой хтмл

Мерлин
18.05.2018
21:45:50
http://golangshow.com/episode/2018/02-28-122/

Wingman
19.05.2018
07:06:23
Подскажите плз
Есть строка, например, "\xF0\x9F\x8F\xA0 Home"
Как заставить go воспринять её как последовательность unicode, а не ASCII, символов?)

Alexey
19.05.2018
08:04:26

Wingman
19.05.2018
08:04:41
Ага, спасибо, попробую

Dmitry
19.05.2018
08:09:11

Alexey
19.05.2018
08:10:06

Wingman
19.05.2018
08:10:42
спасибо)

Andrew
19.05.2018
09:37:45
@twentydraft с праздником!

Мерлин
19.05.2018
09:51:17

Google

Andrew
19.05.2018
09:52:16

Fedor
19.05.2018
09:54:02
День физика 7 мая же )

Admin
ERROR: S client not available

Andrew
19.05.2018
09:54:42

Fedor
19.05.2018
09:55:05
Его в день рождения Архимеда отмечают
Хотя на физтехе неделю праздновали

Andrew
19.05.2018
09:55:44
Сегодня местечковый на фф

Мерлин
19.05.2018
09:56:00

Dmitry
19.05.2018
10:35:32
Подскажите пожалуйста, почему в этом случае я получаю значение полей структуры:
https://play.golang.org/p/SW2-3Vcg8JT
а в этом нет: https://play.golang.org/p/QNMV3K6ArUI
Во втором случае я думал, что если полям уже присвоено значение, то по идее я могу их получить.
Спасибо

Александр
19.05.2018
10:39:21
потому что у структуры нет "значений по умолчанию" ?
то что между ковычками это для тегов

Виктор
19.05.2018
10:39:41
Ну так ты получаешь
просто строка то пустая

Dmitry
19.05.2018
10:41:08
получается, после инициализации делаю присваивание
а как можно про теги загуглить? я их использовал как-то для сравнения после чтения значнией в yaml файле
почитать бы поподроднее
вообще это же просто строковое представление

Google

Dmitry
19.05.2018
10:43:50
меня смущает то, что я могу присвоить переменной значение так a := `123`
почему это не сработало со полями структуры?

Aleksandr
19.05.2018
10:44:44
а почему должно? поле же не переменная
да и инициализированы поля уже

Виктор
19.05.2018
10:46:47
Инициализировать поля структуры в определении структуры нельзя

Dmitry
19.05.2018
10:47:13
ну да, так работает: https://play.golang.org/p/xOq3wMq6-93
ведь это по сути объявление типа, а точнее новой структуры данных, которая по сути своей является сложным типом
поправте пожалуйста, если не прав)

Данила
19.05.2018
12:00:29
Здравствуйте. Подскажите, каким образом можно распарсить JSON такой структуры:
{"errorpages" : [{"type": 404,
"url":"/404.php"},
{"type":"500", "url:"/500.php"}],
"id":500,
"charset":"utf-8",
"box": {"backend":"php",
"name": "sinatra.ru"}
}

Max
19.05.2018
12:01:44
json.Unmarshal(interface{})