Sergei
Сам то, а?)
это поклёп
Zloy-Dobry
Чувак спросил доку, я дал доку, чо не так то?
Zloy-Dobry
Zloy-Dobry
Сам такой
Dmitrii
Чувак спросил доку, я дал доку, чо не так то?
- у чатов есть определенная цель - распространение знания - когда задают вопрос и нечего ответить по теме, лучше промолчать (читай правила) - подобные высказывания - токсик бихейвер На всякий случай переведу. Когда я задал вопрос, мне ответили и это помогло (спасибо @GruchikVlad), я переписал где было нужно, но осталась не ясность, почему так? Я транслировал это в высказывание (что придется править код), на что получил колкость, на вопрос где дока (предположил, что у тебя есть понимание почему так надо) попросил линку, вместо линки на бэст практис, получил lmgtfy.
Zloy-Dobry
Ох,сложный то какой. Ссылку то ты на доку, а не бест практис спрашивал, так шт ненад.
Pawel
https://ziutek.github.io/2018/03/30/go_on_very_small_hardware.html
супер! я для похожего проца сейчас пишу в IAR студии на Си.
Anonymous
Так теги в кавычках должны быть.
Не знаю почему, скопировалось как-то криво. Вот проде правильно:
Anonymous
Anonymous
Anonymous
сейчас json точно норм
Anonymous
Anonymous
но не понятно, где Field3 )
Anonymous
https://gobyexample.com/json
Чё-то не прибавляет понимания как с [][] работать
Dmitrii
Чё-то не прибавляет понимания как с [][] работать
это пробовал ? https://mholt.github.io/json-to-go/
Anonymous
да, у меня скрин чуть выше
Dmitrii
сорян )
Anonymous
вопрос теперь чё с этим делать ))
Anonymous
как замаршалить )
Aleksandr
Замаршаллить или анмаршаллить?
Anonymous
замаршалить
Anonymous
я не пойму просто как инициализировать этого монстра
Aleksandr
Структуру в json? Создай инстанс структуры, замаршалль
Anonymous
вот не пойму как создать
Dmitrii
Дай код структуры
Anonymous
type AutoGenerated struct { MyArray [][]struct { Field1 string json:"Field1,omitempty" Field2 string json:"Field2,omitempty" } json:"myArray" }
Aleksandr
s:= Autogenerated{MyArray: [][]struct{тут перечисление структур с двумя полями}}
Anonymous
а, вот как
Aleksandr
на play.golang начни, тебе доделают
Anonymous
да мне бы желательно суть понять
Anonymous
я пока чё-то. в потёмках
Anonymous
единственное, что собственно, не понятно, это как создать массив в массиве
Anonymous
для данной конструкции
Aleksandr
[][]struct{ []struct{ struct{...}, struct{...} }, []struct{ struct{...}, struct{...} } }
Anonymous
o_O ох.. сейчас попробую
Anonymous
o_O ох.. сейчас попробую
да сделай ты несколько структур и вложу одну в другую
Anonymous
в чем трабл то
Anonymous
в чем трабл то
В том, что пытаясь разложить и сделать пошагово, у меня неправильно получается. https://play.golang.org/p/XgPLG_X2YfE
Anonymous
Aleksandr
https://play.golang.org/p/rTpwfRWCH-N
Aleksandr
мог бы просто мой код скопировать
Aleksandr
[][]struct{ []struct{ struct{...}, struct{...} }, []struct{ struct{...}, struct{...} } }
Anonymous
[][]struct{ []struct{ struct{...}, struct{...} }, []struct{ struct{...}, struct{...} } }
так я скопировал. почему там не заработало? https://play.golang.org/p/QrkVE1nT_ts
Artem
так я скопировал. почему там не заработало? https://play.golang.org/p/QrkVE1nT_ts
оно не так делается, когда ты делаешь анонимную структуру, тебе сначала нужно перечислить её поля
Anonymous
всмысле этой строкой
Artem
у тебя там struct{Field1:"поле1",Field2:"поле2"}
Anonymous
да
Artem
а должно быть struct{ Field1 string Field2 string }{ Field1:"поле1", Field2:"поле2" }
Anonymous
ааа
Artem
т.к. анонимные
Anonymous
не знал этого момента (
Artem
дал бы имя, такое городить не пришлось бы
Anonymous
ладно, всем спасибо, пойду ковыряться!
bebebe
а кто-нибудь может посоветовать "хорошие" библиотеки для fuzzysearch? я попробовал около 6 и все они не очень, а последний вообще ключи к lowercase безвозвратно приводит
bebebe
вот вроде неплохая https://github.com/junegunn/fzf/blob/master/src/algo/algo.go
heavycharged
подскажите, есть типичный ответ API, это JSON-объект со свойствами data и error (если есть). При этом, data на каждый метод API содержит разную структуру. Как это можно порешать в Go? Чтобы создать, например, структуру type Response struct { Data ... `json:"data"` Error Error `json:"error"` }
Constantine️
interface{} ?
Constantine️
сделай свой интерфейс?
heavycharged
interface{} ?
На каждый метод, свой интерфейс реализующий Unmarshaller?
heavycharged
или можно как-то проще?
heavycharged
Я бы хотел что-то вроде resp := Response{Data: UsersResponse}
heavycharged
и туда заанмаршалить, но такое видимо не сработает?
heavycharged
Имплементировал Unmarshaler, а он валится в рекурсию :(
heavycharged
У кого-то есть мысли, как тактично это обыграть? Потому что методов оче много, под каждый писать свой Unmarshaler - это похоже на идиотизм. Можно, конечно, генерировать кучу {Method}Response, и эмбедить туда Error и прочее. Но, кмк, тоже не очень красиво.
heavycharged
потому что одна и та же писанина, по сути.. :(
Nurzhan
В го строгая типизация, думаю, без этого никак
Nurzhan
С пустым интерфейсом в этом случае будет куча головной боли, пока сделаешь type assertion
heavycharged
тут не столько в типизации проблема, сколько косяк в этой рекурсии. По сути, мне бы подошло как раз unmarshaler, если бы его можно было бы вызвать без рекурсии, как будто самого интерфейса нет. может какую-то прослойку пригромоздить, но пока ничего в голову не пришло.
heavycharged
можно на сам Response повесить Unmarshaler, а на Data какой-то свой интерфейс завернуть, но нужно на практике проверить, зайдет ли такой вариант.
heavycharged
Совсем не понял, откуда рекурсия взялась, можно пример?
вы правы, я лохонулся. сейчас глянул в код, и не то передавал в Decode(). Сейчас переделал, вот такую ошибку получаю: json: cannot unmarshal object into Go struct field Response.data of type json.Unmarshaler
Slava
через RawData можно
Slava
с другой стороны, если каждый метод возвращает разный ответ - то правильнее под каждый метод свою структуру делать
heavycharged
с другой стороны, если каждый метод возвращает разный ответ - то правильнее под каждый метод свою структуру делать
нет, там базовая структура ответа вот такая как я описал, + ещё может быть в нагрузку всякие pagination и прочее. имелось ввиду RawMessage?