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 ответов

5 просмотров

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 нет запросов с бека в момент формирования вьюхи

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта