heavycharged
товарищ не знает как обратиться к вложенным мапам ещё до этапа компиляции, ему предложили решение с рекурсией и возможностью открывать в рантайме, он сказал "Да ну, фигня какая-то"
Мерль
а зачем делать то? есть же json.Decode ))
Там же проблема в том, что много нековариантных структур
Мерль
Насколько я понимаю
Artem
Там же проблема в том, что много нековариантных структур
о0 рекурсивный обход мапы как раз с рефлектом делать удобно :) Но боюсь автору этот варриант не понравится
Мерль
🎉
Нет, есть ещё способ, получить счётчик записей, и в обратном порядке посмотреть несколько из них, как правило на третьей или четвёртой есть нужный результат.
.
Есть ли какая то разница между использованием fmt.Fprintf, ResponseWriter.WriteString и io.WriteString для возврата ответа сервера?
Anonymous
Есть ли какая то разница между использованием fmt.Fprintf, ResponseWriter.WriteString и io.WriteString для возврата ответа сервера?
Судя по всему, нет (разве что printf - это форматированный вывод, а всё остальное - обычная строка).
Антон
кто нибудь юзал в продакшене http.ReadRequest/http.ReadResponse? Есть ли какие нибудь подводные при вычитывании http запросов/ответов напрямую из коннекшена? Можно ли считать эти методы достаточными для получения полной информации о запросе/ответе (в т.ч. о Body)? Зачем в ReadRequest делается удаление заголовка Host? Для каких целей опубликовано это API?
Pawel
Потому что мапа друг в друга вложенная, пока доберусь до результата ахирею.
вы можете сказать по русски для чего нужна эта мапа, зачем её обходить - какова конечная цель вот этого всего?
Slava
Мне кажется это ИИ пытается разобраться как программировать
🎉
вы можете сказать по русски для чего нужна эта мапа, зачем её обходить - какова конечная цель вот этого всего?
Хочу со стены Вконтакте взять трёх человек(крайних) тот кто жал лайк, оставил коммент, и сделал репост, всё.
Andrei 🦉
Хочу со стены Вконтакте взять трёх человек(крайних) тот кто жал лайк, оставил коммент, и сделал репост, всё.
хочется спросить, а зачем тут вообще го? берете любимый скриптовый язык и решаете задачу за пол часа
🎉
хочется спросить, а зачем тут вообще го? берете любимый скриптовый язык и решаете задачу за пол часа
Хм, это уже есть на одном из скриптовых языков, переписываю, кроме вот этого и парсинга... ну и по мелочи. Нужно на го, ибо нет зависимости от других либ, и возможно в будущем понадобится выполнять это в роутере, без сервака.
Daniel
если это уже есть - почему просто не портировать?
Daniel
во что вы там уперлись?
🎉
Расширяю слегка, у меня есть шапка(картинка), в неё я пишу курс валюты, погоду, дату. Захотелось мне туда ещё записать автарки пользователей, кто последним подписался, лайкнул, откомментил и сделал репост, уже сумел поработать с изображениями получается норм, осталось трёх человек дёрнуть со стены. Я не спешу, потом как силы будут...
Daniel
аааа
Daniel
тогда понятно
Artem
Всем доброго вечера! Подскажите, пожалуйста, почему main не видит структуру из другого файла?
Artem
И как это исправить
Daniel
что такое "не видит"?
🎉
Назови структуру с большой буковки.
Artem
Так и сделано
Artem
data := response.UsersResponse{}
Artem
./main.go:313:10: undefined: response
Daniel
импорт забыли
🎉
Там два варианта, во всех файлах иметь package main, названия функций и чего хочешь что-бы видно было с большой буковки. Respons вот так попробуйте.
Pawel
Хочу со стены Вконтакте взять трёх человек(крайних) тот кто жал лайк, оставил коммент, и сделал репост, всё.
в таком случае вам нужно не в map[string]interface{} десериализовывать жсон, структура данных выбрана не правильно. Вам нужен тип, в котором присутсвуют все возможные варианты ответа ввиде указателей с атрибутом json:"ommitempty"
Artem
Импорт есть. Я импортировал testname, в котором есть директория respnose
Artem
Нужно ли ещё прописывать этот response?
🎉
Импорт есть. Я импортировал testname, в котором есть директория respnose
Импорт нужен если ты в отдельной папке филе держишь.
Artem
обязательно
Всё, заработало, спасибо
Artem
А если описаны структуры, которые не используются, это снижает производительность или пофиг, можно не убирать?
Artem
Вообще не понимаю принцип ГО. Вот если мне нужна переменная data, которая получает данные исходя из условий, то вне этих условий data не видна. Как так?
.
Можно обьявить переменную вне условий
.
и просто менять ее значение в условии
Artem
if condition { data := ... } else { data := ... } data //вот тут уже не видно
Artem
я так и сделал
Artem
он теперь орет data declared and not used
Artem
При этом она выводится в конце
.
var data Type if condition { data = ... } else { data = ... }
Artem
так и сделано
Artem
орет
Artem
data := response.UsersResponse{}
.
не должно
Artem
Вот так я сделал
.
ты инициализируешь ее в условии
.
просто =
.
не :=
Artem
это вне условия
Artem
data := response.UsersResponse{}
Artem
вот это
Artem
а потом идет if
Anonymous
внутри условия убери :=
Anonymous
оставь просто =
Artem
а тьфу
Artem
туплю
Artem
жесть
Artem
извините
.
бывает
Pawel
хочется спросить, а зачем тут вообще го? берете любимый скриптовый язык и решаете задачу за пол часа
можно обойтись Го, скриптовые языки для этой задачи не потребуются если подойти к решению с умом, а не пытаться бездумно сделать всё "как в питоне". Подойти с умом - означает прописать схему запроса и ответа для каждого конкретного случая
Wingman
Если ВДРУГ кому-то будет не влом бегло "поревьювить" проектик, буду благодарен за п̶о̶р̶у̶г̶а̶н̶и̶е̶ нахождение каких-нибудь очевидных узких мест :) https://github.com/ircop/pinger Задумывается эта штука как часть бОльшего проектика, что-то вроде микросервиса
Wingman
а, ну это да :)
Maksim (Ellrion)
очень большие методы местами и желательно подробить
Vladislav
Относительные пути.
Maksim (Ellrion)
да тоже собирался написать)
Maksim (Ellrion)
когда вот такая вложенность https://github.com/ircop/pinger/blob/master/pinger/pinger.go#L145 это что то не так значит
Maksim (Ellrion)
глобальные переменные в подпакете вместо New (у тогоже пакета логера например)