aadz
сюда - лучше ссылку на код
Ivan
а как json туда засунуть ?
Vasily
вы на вход массив подаёте, а парсить пытаетесь в структуру одиночную
надо в слайс структур
Timur
+ binary -> Binary и т.д.
Ivan
Ivan
aadz
это не тонкости, это желание сдалеть copy-past?
Ivan
все понял
Ivan
спс
Ivan
ща попробую
Timur
https://play.golang.org/p/DCOMMHZWpTR
Timur
@devmanio
Ivan
Огромное спс
Ivan
🙂
Anonymous
В golang нет аналога "use" для имени package по умолчанию как в C++, но есть "." (точка). Например:
import (
. "common-type-aliases"
)
Ну и в some-common-aliases находяться лишь псевдонимы некоторых типов.
Вопрос:
Насколько это корректно? И можно ли сделать иначе?
Понятное дело, что можно сделать например так:
import (
aliases "common-type-aliases"
)
type SomeType1 = aliases.SomeType1
type SomeType2 = aliases.SomeType2
...
Но так вообще не красиво и не удобно
Roman
Anonymous
в общем у меня есть json
[{
"binary": 0,
"channel": «test_ch»,
"data": {
«mph»: [
["0.11236881", "2.6"],
["0.10267318", "0"]
],
«kph»: [
["0.10234811", "0"],
["0.1023067", "0.097"]
],
"timestamp": 1517772484297
}
}]
я его пытаюсь парсить :
type speed struct {
time float64 json:"string,"
Quantity float64 json:",string"
}
type Data struct {
mph []speed json:»mph»
kph []speed json:»kph»
Timestamp int64 json:"timestamp"
}
type State struct {
binary int64 json:"binary"
channel string json:"channel"
data Data json:"data"
}
msg := State{}
err = json.Unmarshal(message, &msg)
Ты забыл, что State - это массив, нужно msg := []State{}
https://play.golang.org/p/p7g_i2eyGlU
Anonymous
Какую проблему вы пытаетесь решить?
Есть пакет утилит, который значительно расширяет возможности базовых типов, хотелось бы найти решение их импортировать без лишнего бойлерплейта
Anonymous
Вот есть целая ветка посвщенная этому: https://github.com/golang/go/issues/16339#issuecomment-233644777
Ivan
Timur
в чем странность?
Ivan
https://play.golang.org/p/HfJ6hkkmEO9
Ivan
нулевые зеачение
Ivan
всех полей
Ivan
те ошибки нет, но все поля пустые
Timur
binary -> Binary
Timur
для всех полей
Timur
первая буква
Timur
public attributes)
Timur
Я же показывал правильный вариант)
Timur
эм
Timur
ну я не все поля переименовал
Timur
оставил вам возможность потренироваться
Timur
Поля в структуре должны быть публичными
Ivan
ага, спс
Ivan
последний вопрос : https://play.golang.org/p/7vR7do-MOCV
Ivan
kph > Kph
Ivan
не помогает
Timur
Kph у вас []speed
Timur
Это массив структур
Timur
В json это массив массивов [
["0.10234811", "0"],
["0.1023067", "0.097"]
]
Anonymous
https://play.golang.org/p/qy5vgbDnEII
Timur
{"time": 0.10234811, "quantity": 0},
Anonymous
Не заметил, там, много всяких косяков было
Timur
+ структура speed некорректная
Timur
должна быть такая
Timur
type speed struct {
Time float64 json:"time"
Quantity float64 json:"quantity"
}
Anonymous
Здесь https://play.golang.org/p/qy5vgbDnEII все рабочее, если исходить из того, что сам json именно такой каким должен быть
Timur
не нужно рабочее, нужно объяснить где ошибка😉
Anonymous
Ошибок дохера)
Ivan
ох жесть
Anonymous
kph > Kph, mph > Mph, [][]string и куча других мелких огрех
Ivan
спс всем!
Ivan
была надежда что json сконвертит цифры в float64
Timur
не сконвертит)
Ivan
да уже нагуглил как структуре дописать функцию конверта 🙂
Anonymous
Меня Go вообще немного подбешивает. Даже Swift со своей супер строгой типизацией кажеться воробушком
Ivan
я надеюсь что привыкну со временем. потоки вообще огонь.
Anonymous
А то что Пайк и Кен начудили с булевой инверсией?! Типа, а давайте сделаем не как удругих и префиксный оператор "~" заменим на "^" что бы было не как у всех! Но как же тогда нам сделать такую штуку "a ^ ~b" неужто "a ^^ b"? Ага, а еще у нас есть &^!
killme ^^ 0xDEADDEAD
again &^=0xDEFECA7E
Anonymous
Anatoliy
Подскажите пожалуйста: Visual Studio Code перестала выводить всплывающие описания функций при наведении... и линтер с gofmt автоматом не срабатывают. Расширение Go переустановил, саму студию переустанавливал. В чем может быть дело?
Anatoliy
в параметрах стоит
"go.lintOnSave": true,
"go.formatOnSave": true,
Anatoliy
Короче я пользовался insider версией и там после обновления до 1.20 все сломалось. Поставил стабильную 1.19.3 и все стало хорошо
Vladislav
Господа, подскажите хорошие книжки по Go или хорошие статьи по основам? Go tour конечно я прошел, хотелось бы что-то типа "философии java"
Поделитесь в общем ссылочками полезными, кто сколько может)
𝒦𝒶𝓁𝒶𝓎⛩
𝒦𝒶𝓁𝒶𝓎⛩
Vladislav
Спасибо, почитаю
Artem
Michael
Vladislav
Спасибо
Michael
Hopf
Всем привет, а подскажите какой драйвер для работы с монгой используется для новых проектов?
Hopf
https://labix.org/mgo
Hopf
?
Michael
Hopf
я его использую
Там релиз 2015 года, это нормально? или есть другие решения?
Hopf
И еще большими буквами написано
The MongoDB driver for Go. UNMAINTAINED - SEE BELOW
Michael