170 похожих чатов

Господа доброго дня! как вообще такое в GO делается? Есть структура

и метод:
type User struct{
Avatar string // relative image path
}

func(u User) toUrlAvatar() {
u.Avatar = fmt.Sprintf("http://domain/%s", u.Avatar)
}

Вытаскиваю данные через pgxscan в структуру и теперь чтобы url аватара привести в правильный вид, нужно циклом вызывать метод toUrlAvatar? Может есть альтернативные варианты?

13 ответов

8 просмотров

https://pkg.go.dev/net/url ?

Õłęg- Автор вопроса
ʕ◔ϖ◔ʔ Соловьев
https://pkg.go.dev/net/url ?

Не-не, например я вытаскиваю массив пользователей из бд, через pgxscan пихаю в массив []User, то Avatar будет /1/2/image.png, а надо чтобы было http://doman/1/2/image.png

Добрый дент, пару вариантов предложу: 1. Храните сразу в нужном виде в БД, лучше 1 раз за все время сконвертировать, чем каждый раз на каждом запросе это делать. Проще написать sql запрос который это сделает. 2. Используйте не автозагрузку в структуру, а через rows и скан, на моменте сканирования просто запускайте конвертацию прямо в репозитории (но по факту это архитектурная ошибка кмк

Изменение поля не через указатель, кстати

Конструктор хочешь чтоле

Õłęg- Автор вопроса
Steel Sword
Конструктор хочешь чтоле

Понять как правильно такое сделать, в рнр делал метод типа s3Url("/1/2/image.png"), он же выдавал уже полный url, ессено массив всегда нужно было проходить, чтобы правильную структуру в ответ отдать

Õłęg
Понять как правильно такое сделать, в рнр делал ме...

Кажется так и так придется проходится циклом по этому слайсу/массиву Лучше сделать presenter для этой структуры. Ты же их не миллиард отдаешь? Писать полный url в таблицу - ну такое себе, это не удобно не только в случае смены диска, но и если тебе с этими файлами надо что-то делать - поэтому я за относительный путь Ну если так хочется избежать доп. цикла то можешь в кастомном маршале это сделать или какую-нибудь либу accessor накрутить

Õłęg- Автор вопроса
Bat
Кажется так и так придется проходится циклом по эт...

10-15 итераций не много по идее) на счёт урл тоже так считаю

Если вы это потом куда-то отдаете запаковывая в условный json, то можно наверное накинуть свой тип вместо string и на уровне Marshal/Unmarshal реализовать все мутации что вам нужны. Но это мягко говоря не очень очевидные мувы, можно, наверное, иногда за такое огрести по шапке =)

Õłęg- Автор вопроса
lrrr_lrrr
Если вы это потом куда-то отдаете запаковывая в ус...

Правильнее будет хранить весь url? Или конкатенацию делать через SELECT в бд?

Õłęg- Автор вопроса
Õłęg
Правильнее будет хранить весь url? Или конкатенаци...

Можно конечно сделать отдельную таблицу и туда конфиг запулить, затем джоинить и конкат делать 😄

если вы подключаетесь к s3, то не проще из структуры вытягивать ссылку?

Õłęg- Автор вопроса
Illia 🇺🇦
если вы подключаетесь к s3, то не проще из структу...

Не понял? к s3 нет запросов с бека в момент формирования вьюхи

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта