Size: a a a

2021 June 06

A

Artem in Go-go!
Как-то можно узнать было ли задано поле в структуре (которая потом будет передана в другую функцию)? Только без способа через указатели и nil делать
источник

RL

Ragnar Lodbrok in Go-go!
Ну отличить от дефолтного значения не сможете
источник

М

Мерль🛠 in Go-go!
Сравнить значение поля с дефолтным
источник

A

Artem in Go-go!
Не, не подходит
источник

М

Мерль🛠 in Go-go!
Тогда булев флаг для поля
источник

М

Мерль🛠 in Go-go!
Сеттер и булев флаг
источник

RL

Ragnar Lodbrok in Go-go!
Тогда уж проще просто указатель использовать, как по мне
источник

A

Artem in Go-go!
суть в том, что нужно написать sql апдейтер, который будет обновлять данные по заданным полям модели
источник

СГ

Сергей Гришаев... in Go-go!
Не оптимальный, но простой способ: прочитать текущие значения и на основе сравнения сгенерировать запрос
источник

A

Artem in Go-go!
условно есть число. мы не передали его, в базе 100, а дефолтное 0, тогда произойдет обновление? чекать на дефолтное? а как тогда установить 0?
источник

СГ

Сергей Гришаев... in Go-go!
Получается, что задача сводится к определению, как отличить дефолт от переданного числа. Я бы не придумывал костыли и воспользовался бы ссылками на типы.
источник

RL

Ragnar Lodbrok in Go-go!
Либо второй вариант: всегда присылать полную структуру со всеми полями
источник

V

Verdant in Go-go!
Как избежать подставления пустых строк в gorm? Есть структура Users, а у неё поле MyLang, так вот когда оно не задано, то есть является "", gorm все равно кладёт '' в запрос, а я хочу, чтобы ставилось значение по умолчанию от БД.
источник

RL

Ragnar Lodbrok in Go-go!
источник
2021 June 07

Ъ

ЪУЪ in Go-go!
источник

Ъ

ЪУЪ in Go-go!
А хотя, уже ответили
источник

m

milkiweed in Go-go!
всем привет! у меня достаточно простой вопрос, вот я сделал тикер:

frequency := time.Hour * 1
ticker := time.NewTicker(frequency)

for {
select {
case <-ticker.
C: // do some
}

Как мне сделать чтоб код как НЕ ждал целый час чтоб первый раз тикер триггернуть, а делал это сразу же при первом запуске for/select?
источник

JI

Johnny Ipcom in Go-go!
Два варианта... Или вручную вызвать перед фором, или сделать что-то типа ticker.C <- time.Now() перед фором. Оба варианта немного попахивают, но вполне работают
источник

m

milkiweed in Go-go!
спасибо! попробую второй вариант
источник

SK

Sherkhan Kubaidullov... in Go-go!
Можно ещё

for {
 select {
 default:
 doSmthng()
 time.Sleep(frequency)
 }
}

если в отдельной горутине
источник