Size: a a a

Golang Developers — русскоговорящее сообщество

2020 June 23

AB

Arkady B in Golang Developers — русскоговорящее сообщество
смотри, если у нас есть поле, которое null в бд( предположим name)

я под эту таблицу пишу структуру в которой есть поле name string
если я зафетчу эту запись из бд - что у меня будет с моделью?
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
поле пустое будет думаю
источник

AB

Arkady B in Golang Developers — русскоговорящее сообщество
пустая строка, так?
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
Arkady B
смотри, если у нас есть поле, которое null в бд( предположим name)

я под эту таблицу пишу структуру в которой есть поле name string
если я зафетчу эту запись из бд - что у меня будет с моделью?
от драйвера бд зависит
будет еррор/пустое
источник

AB

Arkady B in Golang Developers — русскоговорящее сообщество
Alexander Shavelev
от драйвера бд зависит
будет еррор/пустое
тоесть получается, чтов таком случае поинтер спасет?
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
Arkady B
тоесть получается, чтов таком случае поинтер спасет?
в теории - да
но иметь в структе *string - выглядит тошнотворно
источник

AB

Arkady B in Golang Developers — русскоговорящее сообщество
понял - переделаю
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Alexander Shavelev
в теории - да
но иметь в структе *string - выглядит тошнотворно
Очень категорично.
Чем указатели в структуре не устраивают?
источник

AB

Arkady B in Golang Developers — русскоговорящее сообщество
x-foby
Очень категорично.
Чем указатели в структуре не устраивают?
хочется увидеть инфу в доке об этом, но к сожалению не могу найти
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
x-foby
Очень категорично.
Чем указатели в структуре не устраивают?
1) никто не говорил что в целом не устраивают
2) в том конкретном случае под нулл боле в бд - не устраивает
3) вам часто требовалось оперировать указателем на стрингу
4) часто указатели люди используют без необходимости
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
поинтер в структуре нормально, если не хочется чтоб поле инициализировалось в дефолтное значение
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Alexander Shavelev
1) никто не говорил что в целом не устраивают
2) в том конкретном случае под нулл боле в бд - не устраивает
3) вам часто требовалось оперировать указателем на стрингу
4) часто указатели люди используют без необходимости
1) Ок
2) Почему?
3) Да, регулярно
4) Согласен
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
Анатолий
поинтер в структуре нормально, если не хочется чтоб поле инициализировалось в дефолтное значение
ну хз, я больше про это - https://go-proverbs.github.io/
источник

AB

Arkady B in Golang Developers — русскоговорящее сообщество
x-foby
1) Ок
2) Почему?
3) Да, регулярно
4) Согласен
сори, что повторяюсь - не мог бы ты показать, где именно описано как использовать поинтеры в gorm?
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
x-foby
1) Ок
2) Почему?
3) Да, регулярно
4) Согласен
2) потому что для конкретного этого случая есть sql.Null..
3) если не секрет где? потому что не помню кейсов где потребовалось
источник

V

Vlad in Golang Developers — русскоговорящее сообщество
Если я не ошибаюсь, помню в книге Керниган Go, писалось что все строки под капотом это и так указатель на массив байт, по этому они не могут изменяться, и все операции только по значению
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Arkady B
сори, что повторяюсь - не мог бы ты показать, где именно описано как использовать поинтеры в gorm?
Надо посмотреть доку.
Я с орм не работаю, обычно всё через database/sql или pgx
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Alexander Shavelev
ну хз, я больше про это - https://go-proverbs.github.io/
я там не заметил ничего про поинтеры в структурах
источник

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
Анатолий
я там не заметил ничего про поинтеры в структурах
я, кстати, поймал себя на мысли сейчас, что "Make the zero value useful." я понял не как надо
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Да, это к теме дефолтных значений, пларировалось что они будут четкими значениями системы
источник