Slava
Я описал что надо сделать
Slava
в чём проблдема
Slava
получи ьдот файл со слайса структур
Slava
генератор дот-файла вы хотите написать? или ищете готовый?
Если есть готовый то буду чертовски благодарен за ссылку. Если есть идея ка кнаписать - тоже как вариант s := fmt.Sprintf(placeholder,v.ParentMs,v.childMs,v.listOfCalls) const placeholder = "%+s->%+s[label=\"%+s\"] \n"
Slava
заранее всем спаисбо
Slava
graphAst, _ := gographviz.ParseString(`digraph G {}`) graph := gographviz.NewGraph() if err := gographviz.Analyse(graphAst, graph); err != nil { panic(err) } graph.AddNode("G", "a", nil) graph.AddNode("G", "b", nil) graph.AddEdge("a", "b", true, nil) //берём слайс для графа for _, v := range resSl{ graph.AddEdge(v.ParentMs,v.childMs, true, nil) //s := fmt.Sprintf(placeholder,v.ParentMs,v.childMs,v.listOfCalls) } output := graph.String() fmt.Printf("output = '%v'\n", output) ест ьлиба, но я наверное не могу просто праивльно восопльзоваться
Andrei 🦉
полотна кода лучше кидать на playground
Grigoriy
Всем привет! Забуксовал с Marshal/Unmarshal. Почистил от всего лишнего, закинул в playground - https://play.golang.org/p/hnq3Uba-ERS Подскажите, пожалуйста, чяднт?
🏁Александр
а теги?
🏁Александр
две ошибки
🏁Александр
во первых маршал работает только с публичными полями (с Большой буквы которые, это так приватные/публичные своства в гоу различаются)
🏁Александр
во вторых у полей структуры должны быть теги
Grigoriy
Понял и осознал. Большое спасибо за ответ и оперативность!
🏁Александр
и в третьих
🏁Александр
// смотрим - закодировано fmt.Println("Encoded:", string(data))
🏁Александр
вот так правильн
🏁Александр
иначе вы выводите не json, а набор байт 🙂
🏁Александр
в четвертых
🏁Александр
вместо - tmp := []test{} лучше писать var tmp []test
🏁Александр
читабельность лучше 🙂
Grigoriy
Разобрался окончательно. Еще раз спасибо!
Антон
во первых маршал работает только с публичными полями (с Большой буквы которые, это так приватные/публичные своства в гоу различаются)
Ах, если бы только можно было десериализовывать структуры в JSON, не предъявляя требований к именам их полей и не расставляя теги. Но это только мечты...
Антон
В PHP ты не проверишь соответствие данных типам
Aleksandr
ну как,у меня json schema есть
Антон
Не говоря уже о том, что в контексте разбора JSON логичнее упоминать JS
Антон
Aleksandr
генерю из сущности
Aleksandr
из (fixed)
Антон
Пардон, я не настоящий пыхарь
🏁Александр
точно должны?
ну не совсем точно, но надо 🙂
Aleksandr
ну не совсем точно, но надо 🙂
а по-моему надо только если хочешь смаппить на колонки с другими именами
Aleksandr
не уверен, но вроде так было
🏁Александр
ну так и есть
🏁Александр
просто чисто имхо, лучше сразу указать колонку
🏁Александр
потом поле переименуешь в структуре и попортишь json
Антон
а по-моему надо только если хочешь смаппить на колонки с другими именами
Но по факту сразу приходится теги писать, потому что в Go видимость регулируется идентификатором
🏁Александр
каким еще идентификатором?
Антон
каким еще идентификатором?
Ну, точнее первой буквой
🏁Александр
маршал только публичные поля вроде бы как может
🏁Александр
я про другое
🏁Александр
type MyStruct struct { MyVar string }
🏁Александр
вот такое поле переименуешь, и можно случайно сломать json
🏁Александр
просто забыв
🏁Александр
а когда тег копипастом выставлен, уже видно сразу
.
Кстати, какой аналог тэгов структур в других ЯП?
Антон
Кстати, какой аналог тэгов структур в других ЯП?
Ты хочешь сказать, в неназываемом?
🏁Александр
сборка массива руками
🏁Александр
сбор json руками 🙂
Антон
сбор json руками 🙂
Зачем писать руками то, что можно перепоручить компилятору?
Антон
Ах да, в го ж нет дженериков
🏁Александр
json?
.
Так какие аналоги есть?
Антон
json?
Всё так
.
аннотации
Где они есть?
Aleksandr
java например
🏁Александр
java например
это запрещенное заклинание 🙂
Антон
Где они есть?
Java, Scala, Kotlin, Python, неназываемый
🏁Александр
вангую сейчас вий проснется
.
Спасибо
🏁Александр
у него имя на Д, админ, он спит, но когда просыпается кого-то убивают 🙂
🏁Александр
хайлайтить не надо
Антон
Даншин?
🏁Александр
инициалы Д.П 🙂
Антон
Да не, Подольский вроде вменяемый
Aleksandr
попов, ну что ты опять чудишь?
🏁Александр
ты про структуры?
🏁Александр
ну теги это хорошо же