
Marlik
17.02.2018
00:57:34
Ща json воткну
Какой-то геморой json приаттачить в код)) https://play.golang.com/p/UG7yxVWrmG7

Aleksandr
17.02.2018
01:08:00
не юзай имена переменных одноименные с пакетами

Marlik
17.02.2018
01:08:27
Это хде?

Google

Marlik
17.02.2018
01:08:51
Value?

Aleksandr
17.02.2018
01:09:08
json :=

The
17.02.2018
01:09:45
Rates Value это что за хрень?

Aleksandr
17.02.2018
01:09:50
https://play.golang.com/p/QrrsO5MP_RP

Marlik
17.02.2018
01:11:20

Aleksandr
17.02.2018
01:11:51
либо мапа, либо структура с полями AUD, BGN итд

Marlik
17.02.2018
01:12:44
Ну мне проще конечно с мапой, спасибо, а то уже моск весь сломал что не так-то.

Александр
17.02.2018
05:36:42
триждыблятскаяярость!
простите
опять import cycle not allowed

Arch
17.02.2018
05:40:04
1.10
»> There is no longer a limit on the GOMAXPROCS setting. (In Go 1.9 the limit was 1024.)
Уииии!

Александр
17.02.2018
05:42:33

Arch
17.02.2018
05:44:02
Ну типа раньше можно было создать только 1024 процесса, теперь оно автоматом будт создавать процессы безлимитно)))) Если у тя проц на 1024+ ядер ???

Google

Александр
17.02.2018
06:00:17
это все меняет

Arch
17.02.2018
06:01:56
??? ну теперь можно мейнфреймы грузить по полной, не меняя переменную гопроц

Nick
17.02.2018
06:30:41
https://github.com/hazelcast/hazelcast-go-client

Arch
17.02.2018
06:52:30
Народ, кто в курсе, а как так получается, что "go get github.com/go-sql-driver/mysql" отрабатывает без установки гита, а "go get -u github.com/gocolly/colly/..." требует установку гита?

Александр
17.02.2018
07:03:28
фабрика разрастается до ниибических 7 аргументов
шо делать с ней хз
структура то большая

xPushkin
17.02.2018
07:03:52

Александр
17.02.2018
07:03:58
например?

xPushkin
17.02.2018
07:05:15
Ну например у тебя есть структура Response {
Body []byte
Error bool
}
Можешь сделать фактори, а сверху сделать NewErrorResponse который берет только один аргумент - body, и сам подставляет true в error

Александр
17.02.2018
07:05:59
ну это то понятно, но фабрику от овердохуя аргументов не избавит ?

xPushkin
17.02.2018
07:06:28

Александр
17.02.2018
07:09:53
не выйдет
это все одна сущность

Алекс
17.02.2018
07:20:52

Arch
17.02.2018
07:21:19
XDDD

xPushkin
17.02.2018
07:22:51
Тот же самый fmt.Println(...)

Alexey
17.02.2018
07:26:52

Google

Olzhas
17.02.2018
07:52:26
кто-нибудь работал со стандартным asn1?

Vlad
17.02.2018
07:55:04

Olzhas
17.02.2018
07:56:22

xPushkin
17.02.2018
08:06:12

Никита
17.02.2018
08:08:29
Хороший язык, системы на нем - очень стабильные

Александр
17.02.2018
08:11:10
народ а есть какой либо инструмент который бы говорил почему структура к интерфейсу не соотвествует ?
запарился вручную сранивать
IDE тупорылок скотина

Olzhas
17.02.2018
08:13:25

Александр
17.02.2018
08:13:41
такое он не отловит
там же мудинная типизация

Александр
17.02.2018
08:13:51
ой простите утиная

Daniel
17.02.2018
08:15:24
и утиная типизация тут ни при делах

Александр
17.02.2018
08:15:36

Daniel
17.02.2018
08:15:43
не поверю

Александр
17.02.2018
08:15:48
он просто говорит "не соотвествует" без подробностей

Daniel
17.02.2018
08:16:04
нет, он говорит, с каким методом не задалось

Arch
17.02.2018
08:16:09
компилятор
не говорит почему структура и интерфейс не совпадают, по крайней мере в дефолтном состоянии

Google

Daniel
17.02.2018
08:16:33
если есть присваивание или передача аргумента - говорит
а если вы в рантайме приведение устраиваете - тогда, конечно, не говорит
потому, что в процессе не участвует

Александр
17.02.2018
08:22:14
ну да при компиле оно нормаль отругалось

Admin
ERROR: S client not available

Александр
17.02.2018
08:22:26
а вот IDE скотина просто орала что не сооствует

Daniel
17.02.2018
08:22:35
которая ide?

Olzhas
17.02.2018
08:22:37

Александр
17.02.2018
08:22:47
гоуланд

Olzhas
17.02.2018
08:22:54

Daniel
17.02.2018
08:22:56
у него все проверки свои
можно им багрепорт нарисовать

Savely
17.02.2018
08:24:21

xPushkin
17.02.2018
08:24:48

Savely
17.02.2018
08:25:04
У меня недавно был кейс, когда написать без дженериков было настолько сложно, что пришлось писать на другом языке.

Daniel
17.02.2018
08:25:26
Да ладно
Где совсем нельзя - там можно нагенерить кода

Savely
17.02.2018
08:26:03
Да ладно
Ну да, нужно было нагенерить 18 тысяч строк кода.
Мне эта перспектива не очень понравилась.

xPushkin
17.02.2018
08:28:01

Google

Savely
17.02.2018
08:30:20
А можно простой пример?
Ну смотри. Например юзаешь ты какой-то очень хитровыебанный API. И тип там приходит не как название поля, а специальным системным полем "@type". Например тебе может придти сначала это:
{
"data": {
"object": "bank_account",
"id": "ba_123",
"routing_number": "110000000"
}
}
А потом это:
{
"data": {
"object": "card",
"id": "card_123",
"last4": "4242"
}
}
То есть тебе в данном случае надо сначала распарсить тип и в зависимости от этого сделать анмаршалинг по необходимой структуре.

Никита
17.02.2018
08:32:16
Это какой то очень хуевый эпи, если он на один путь принимает разные параметры

Savely
17.02.2018
08:32:40

Никита
17.02.2018
08:32:52
Так в принципе ситуация тупая

Savely
17.02.2018
08:34:31
Ну я часто вижу подобное. Потому что в каком-нибудь JavaScript распарсить такой JSON не составит проблем.
Другое дело, что ты там будешь засыпан undefined всякими.

Никита
17.02.2018
08:37:23
Вообще я как то до сих пор не понял прекола парсить данные с помощью структур, почему просто не юзать мапы интерфейсов?
Например, если у меня много разных обращений к базе данных, мне придется под каждый ответ писать структуру

Savely
17.02.2018
08:37:56

Александр
17.02.2018
08:38:01
проехали, что-то у меня уже крыша едет

Savely
17.02.2018
08:38:26
if update["@type"].(string) == "updateNewMessage" {
if message, ok := update["message"]; ok {
if chatId, ok := message.(tdjson.Update)["chat_id"].(float64); ok {
if isOutgoing, ok := message.(tdjson.Update)["is_outgoing"].(bool); ok {
if content, ok := message.(tdjson.Update)["content"]; ok {
if text, ok := content.(tdjson.Update)["text"].(string); ok {
if allowedBots[chatId] {
if !isOutgoing {
Это вот такое себе))

Michael
17.02.2018
08:38:37

Никита
17.02.2018
08:38:46

Savely
17.02.2018
08:39:07