Size: a a a

2021 June 14

DF

Durty Free in Go-go!
Ага, понял, я и смотрю не работает.
источник

AK

Andrey Kartashov in Go-go!
посмотри вакансии в @gogetajob
источник

Д

Дмитрий in Go-go!
Добрый день,
Я использую валидатор go-playground/validator/v10. В правилах для поля указал несколько правил. Отправляю реквест, проходит валидация, но возвращается ошибка по одному правилу (но по факту не проходит по двум правилам). Как можно вернуть сообщения валидаций сразу по всем правилам, по которым он не прошел, а не только по одному?
Например у меня правила такие стоят, Field string validate:"len=3,oneof=abc acb, а реквест отправляю { field: "ab" }. Возвращается ошибка Error:Field validation for 'field' failed on the 'len' tag.

Собираю ошибки валидаций так
for _, err := range err.(validator.ValidationErrors) {
   result[err.Field()] = []string{err.Error()}
}
источник

S

Sergey in Go-go!
Сейчас на всём есть удалёнка )
источник

VM

Vadim Misbakh-Solovi... in Go-go!
а подскажите, пожалуйста, есть ли какой-нибудь ресурс, которому можно было бы скормить данные в json'е, а он бы в ответ сказал бы какого именно типа map инициализировать чтобы оные json-данные туда анмаршальнуть?
источник

DP

Daniel Podolsky in Go-go!
источник

ВС

Владимир Столяров... in Go-go!
или прямо в goland
источник

SS

Simon S in Go-go!
источник

VM

Vadim Misbakh-Solovi... in Go-go!
спасибо
источник

VM

Vadim Misbakh-Solovi... in Go-go!
(всем. А то я отвечал из уведомления о хайлайте и не сразу увидел остальные ответы)
источник

DK

Daniil Korekovcev in Go-go!
Точно не вспомню, но какую то структуру у меня два сервиса "съели" по разному, причём один вариант был не совсем верный.
источник

SS

Simon S in Go-go!
возможно, но я этим пользовался, вроде нормально отработал
источник

AK

Anup Kuplu in Go-go!
Запускаю go-рутины , код  взял в статье https://t.me/Golang_google/368 получаю ошибки. помогите ,пожалуйста, решить

fatal error: all goroutines are asleep - deadlock!

goroutine 1 [semacquire]:
sync.runtime_Syncsemacquire(0x10330208, 0x1)
   /usr/local/go/src/runtime/sema.go:241 +0x2e0
sync.(*Cond).Wait(0x10330200, 0x0)
   /usr/local/go/src/sync/cond.go:63 +0xe0
main.main()
   /tmp/sandbox301865429/main.go:17 +0x1a0
источник

AP

Andrew Popov in Go-go!
Загружай код в песочницу и скидывай. Посмотрим.
источник

VM

Vadim Misbakh-Solovi... in Go-go!
что-то я попробовал использовать ту структуру, которую генерят эти json-to-go и... всё равно чувствую себя слишком тупым, чтобы получить то, что хочу.

Если вкратце:
есть такой вот json:
 [{"dst":"8.8.8.8","gateway":"100.118.70.1","dev":"wired","prefsrc":"100.118.70.2","flags":[],"uid":1000,"cache":[]}]

Т.к. мне из него нужен только dev, а так же для того чтобы простыня того что я пишу была поменьше - type struct[] обрежем до
type ipr []struct {
 Dev     string        `json:"dev"`
}


И на выходе у меня [{Dev:wired}]. Если выводить result[0], то а выходе`{Dev:Wired}. Но дальше оно не индексируется... Пните в нужную сторону, пожалуйста? (на выходе хочу получить "`wired").

// а вообще, не хватает jss/css-слекторов ;)
источник

RL

Ragnar Lodbrok in Go-go!
Так у вас только один элемент в массиве, что вы хотите индексировать дальше?
источник

VM

Vadim Misbakh-Solovi... in Go-go!
ну, как я и написал, я хочу получить значение этого Dev, а не весь элемент целиком.
В случае шелла, я бы для этого сделал jq .[].dev
В случае Lua - у меня был бы после декодинга (анмаршаллинга) массив массивов, и я бы обращался к res[1][dev] чтобы получить значение.
А вот на Go я сломался 😢
источник

RL

Ragnar Lodbrok in Go-go!
А, вам надо result[0].Dev
источник

VM

Vadim Misbakh-Solovi... in Go-go!
"вот оно чо, Михалыч"
источник

ВС

Владимир Столяров... in Go-go!
Есть еще библиотеки типа gjson или другие с jsonpath (про селекторы)
источник