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

Тут скорее вопрос такой. Будет ли ошибка, если запросили юзеров с

id=1,2,3, а в базе есть только id=1,2 ?

17 ответов

20 просмотров

Конечно будет. Особенно если это для приложения “Найди партнёров чтобы сообразить на троих”! Ведь найдено только 2… errors.New(“Извините, компания не найдена. Придётся сегодня на работу…”)

вообще такая логика обычно и преполагается, но если нужно гарантировать точную связь с запросом можно вернуть map[int]User* и если по айдишнику ничего не нашлось - рисовать nil

Egor Chistiakov
вообще такая логика обычно и преполагается, но есл...

ну или клиент может сам сравнить [1, 2, 3] с тем что вернулось [1, 2] и понять что чего-то не хватает

Andrew Popov
Конечно будет. Особенно если это для приложения “...

Если это в usecase то ошибка это или нет решает разработчик в зависимости от задачи, если это репозиторий, то для базы это нормальное поведение, «ты просил поискать [1, 2, 3] вот смотри что я нашла, дальше что с этим делать решай сам..»

Andrew Popov
Конечно будет. Особенно если это для приложения “...

совсем не факт, куча вариантов. Вернуть только те что есть и пусть потребитель разгребает, вернуть что есть + добавить поле notfound с ненайденными айдишниками, ничего не возвращать и рейзить ошибку. Нет контекста, чтобы давать одно решение как правильное

uint32_t
Зачем тут указатель?

будем считать что вкусовщина, без бенчмарка на конкретном коде не могу сказать что будет быстрее работать

Egor Chistiakov
будем считать что вкусовщина, без бенчмарка на кон...

Дело не в бенче. Не нашлось - нет ключа в мапе

uint32_t
Дело не в бенче. Не нашлось - нет ключа в мапе

а если нашлось то указатель на найденный объект

uint32_t
Зачем указатель?

указатель, или сам объект на стеке, без разницы. любой удобный способ получить найденный объект

uint32_t
Чем map[int]User хуже?

написал же выше - вкусовщина. в зависимости от контекста тот или иной вариант может быть предпочтительнее для конкретной задачи

Egor Chistiakov
написал же выше - вкусовщина. в зависимости от ко...

Так а чем лучше может быть? Вот у тебя map[int]*User, ключ есть, а значение nil

uint32_t
Чем map[int]User хуже?

да, я был не прав, сделал пару бенчмарков и получилось что использование указателей не дает значимого прироста производительности https://gist.github.com/chistopat/a3b2c664a82681a7f3aeacea6a20609e интересно почему так в go это работает

Egor Chistiakov
да, я был не прав, сделал пару бенчмарков и получи...

1. юзер очень маленький, чем больше будет юзер тем выгоднее ссылки 2. много мусора оставили и тестите по факту не то

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта