@gogolang

Страница 1098 из 1630
Александр
25.05.2018
17:36:33
я день потерял пока дебажил все ?

Александр
25.05.2018
17:38:36
причем они для апи подхачили там

а вот для udp "молчаливый боб"

Google
Petr
25.05.2018
17:38:52
И issue нет?

Александр
25.05.2018
17:39:43
https://github.com/influxdata/influxdb/issues/3460

ну почти оно

мы баги душили-душили

душили-душили

Zaur
25.05.2018
17:53:51
Стесняюсь спросить, а чей мозг вам пересадили ?

Шутка конечно

Nazary
25.05.2018
17:54:33
?

Roman
25.05.2018
18:00:42
Кто в курсе. Google Duplex случайно не на Go запилили?

Антон
25.05.2018
18:25:58
Ой, прошу прощения, проблема была том что я в struct не вписал значения для json https://stackoverflow.com/questions/26327391/json-marshalstruct-returns
Ах, если бы только можно было преобразовывать данные в JSON, не проставляя вручную теги и не делая поля публичными. Но это только мечты...

Хотя погодите-ка... https://github.com/serde-rs/json

Антон
25.05.2018
18:36:52
awesome golang посмотри, там есть много чего
А там есть решение, удолетворяющее вышеперечисленным условиям и не использующее рефлексию?

Google
Aleksandr
25.05.2018
18:37:12
именно поэтому и сказал

хотя врать не буду, что-то уже не уверен что там видел. может в дайджесте каком-то.. так или иначе сторонних json-либ достаточно много с разными подходами

Aleksandr
25.05.2018
18:50:58
https://github.com/francoispqt/gojay

Антон
25.05.2018
18:56:21
https://github.com/francoispqt/gojay
Гм, этого в awesome-go не видел. Сейчас посмотрю

https://github.com/francoispqt/gojay
Unmarshal принимает вторым аргументом interface{}

s3rj1k
25.05.2018
19:07:59
Ребят. А как правильно выводить ошибку из анонимной го рутины? Канал с ошибками и ретурн?

Aleksandr
25.05.2018
19:12:46
Unmarshal принимает вторым аргументом interface{}
для консистентности с апи стдлиб.

там же есть другое апи

Антон
25.05.2018
19:23:49
Есть на основе кодогенерации
? То есть приходится при изменении структур заново генерировать код.

Мерлин
25.05.2018
19:42:09
? То есть приходится при изменении структур заново генерировать код.
На самом деле дефолтного сериализатора (или jsoniter) хватает в 80% случаев По большому счёту кастомные сериализаторы мало чего дают, всё равно ты упираешься в сеть и СУБД раньше

Ребят. А как правильно выводить ошибку из анонимной го рутины? Канал с ошибками и ретурн?
Зависит от обстоятельств Да, канал с ошибкой — это валидный подход

Мерлин
25.05.2018
20:09:05
а еще какие варианты?
например взрываться на ошибке или логировать ошибку, не передавая её раньше

Artem
25.05.2018
20:27:40
? То есть приходится при изменении структур заново генерировать код.
есть вариант добавить go:generate, а перед билдом его вызывать, если они конечно у тебя в ci делаются

тоже самое, что и с файлами протобуфа получается

Daniel
26.05.2018
06:07:05
есть вариант добавить go:generate, а перед билдом его вызывать, если они конечно у тебя в ci делаются
это плохой вариант. go generate должен использовать программер тогда, когда это кажется ему правильным. например - после изменения структур.

Google
Oleg
26.05.2018
12:15:24
подскажите пожалуйста возможно ли как-то чекнуть в какой момент времени отработает тикер?

Vasily Romanov
26.05.2018
12:19:28
не надо даже отдельно получать

for tickTime := range ticker.C

First
26.05.2018
12:33:09
Ребят, кто пишет ботов для телеги, у меня к вам вопрос

Oleg
26.05.2018
12:33:56
он в канал время тика возвращает
вау, это решает все проблемы, спасибо!)

First
26.05.2018
12:42:39
Я использую либу "telegram-bot-api". Я могу получать сообщение и в зависимости от его содержимого вызывать конкретную функцию. У меня такая задача, к примеру: При первом подключении бота нужно ввести своё Имя, далее бот будет реагировать на сообщения "Скажи привет" (будет говорить "Привет %Имя%") и "Изменить имя". Как сделать так, что бы при нажатии "Изменить имя" бот писал "Введите своё имя:" и не воспринимал комманду "Скажи привет", а запоминал введённый текст как имя

Vasily Romanov
26.05.2018
12:55:02
где-то флаг иметь, что юзер не ввёл имя

пока имя не введено - не обрабатывать остальные команды

при нажатии на кнопку смены имени - сбрасывать флаг

Vasily Romanov
26.05.2018
12:55:56
но тогда отменить нельзя

Dmitry
26.05.2018
16:11:43
пытаюсь научиться работать с xml по https://tutorialedge.net/golang/parsing-xml-with-golang/ и я непонимаю какую функцию выполняет тип xml.Name .

описание xml.Name ничего не проясняет

Aleksandr
26.05.2018
16:42:28
Dmitry
26.05.2018
16:45:07
корневой тег
не прояснило.

Aleksandr
26.05.2018
16:45:22
не прояснило.
задавай вопросы

Dmitry
26.05.2018
16:45:39
зачем нужен xml.Name ?

Google
Aleksandr
26.05.2018
16:45:54
зачем нужен xml.Name ?
обозначить имя корневого тега

что такое корень и что такое тег понятно?

Dmitry
26.05.2018
16:46:04
что такое корневой тег ?

Aleksandr
26.05.2018
16:46:16
xml - это структура из вложенных в друг друга тегов. тег верхнего уровня - корневой тег

Dmitry
26.05.2018
16:48:02
тогда почему в https://tutorialedge.net/golang/parsing-xml-with-golang/ корневой тег имеет разные значения ? всегда думал что у дерева корень только один

Admin
ERROR: S client not available

Dmitry
26.05.2018
16:48:45
и зачем в каждой ноде писать корневой тэг ?

The
26.05.2018
16:49:25
смотри, если у тебя структура, скажем такая: (псевдокод) type User struct { XMLName xml.Name // user ID int xml:"id" } то в итоге получишь: <user> <id>5</id> </user>

тег, в который структура будет обернута, короче говоря

Dmitry
26.05.2018
16:50:15
но я понял суть. спасибо

Aleksandr
26.05.2018
16:50:32
Sergey
26.05.2018
16:50:49
видимо слово "корневой" сбивает столку

Dmitry
26.05.2018
16:50:53
это тэг ноды для которого предназначена структура

The
26.05.2018
16:51:12
да. не столько корневой, сколько родительский для конкретной структуры

Google
Sergey
26.05.2018
16:51:14
Aleksandr
26.05.2018
16:51:26
это тэг ноды для которого предназначена структура
да, являющийся корнем для ниже лежащей структуры тегов

Dmitry
26.05.2018
16:57:15
а возможно как то миновать создание промежуточной структуры EntryList? код https://pastebin.com/BJ55fRtu xml: https://pastebin.com/FFFwi75p

The
26.05.2018
16:58:55
Entries []Entry `xml:"Entries>Entry"

как-то так, вроде

или даже так: type StringTableFile struct{ XMLName xml.Name `xml:"StringTableFile"` Name string `xml:"Name"` Entries []Entry `xml:"Entries"` }

зачем вообще делать EntryList?

Dmitry
26.05.2018
17:00:34
Entries []Entry `xml:"Entries>Entry"
1й вариант работает

спасибо

зачем вообще делать EntryList?
потому что когда я пытался Entries []Entry `xml:"Entry" то массив выходил пустой

The
26.05.2018
17:02:13
можешь попробовать Entries []Entry `xml:"Entries>Entry" и в type Entry struct { убрать вообще xml.Name

Dmitry
26.05.2018
17:02:16
2 вариант не работает : 2018/05/26 20:01:42 expected element type <Entry> but have <Entries>

можешь попробовать Entries []Entry `xml:"Entries>Entry" и в type Entry struct { убрать вообще xml.Name
убрал. работает. теперь мне непонятно. так нужен XmlName в каждой структуре или не нужен ?

The
26.05.2018
17:04:15
он не обязателен, вообще

Dmitry
26.05.2018
17:05:09
совсем необязателен или для всех кроме абсолютного корня необязателен ?

The
26.05.2018
17:06:38
Я не много работал с XML, и тоже в свое время немного путался. Нужно доку читать. The name for the XML elements is taken from, in order of preference: - the tag on the XMLName field, if the data is a struct - the value of the XMLName field of type Name - the tag of the struct field used to obtain the data - the name of the struct field used to obtain the data - the name of the marshaled type

Dmitry
26.05.2018
17:07:10
окей. спасибо. пойду читать

Alexey
26.05.2018
19:55:47
И лучше https://golang.org/pkg/encoding/xml/#Unmarshal читать

Страница 1098 из 1630