Size: a a a

2020 May 27

p

pragus in Go-go!
Daniel Podolsky
net io на epoll
ну такое )
источник

C

Calculon in Go-go!
Daniel Podolsky
только те, для которых оператор == определен
в пользовательских типах нельзя определять операторы, тем не менее их можно юзать как ключи
источник

DP

Daniel Podolsky in Go-go!
pragus
ну такое )
да ну, перестань. отличное решение.
источник

DP

Daniel Podolsky in Go-go!
Calculon
в пользовательских типах нельзя определять операторы, тем не менее их можно юзать как ключи
не любые
источник

C

Calculon in Go-go!
Daniel Podolsky
не любые
приведи пример, а то я тебе не верю
источник

d

dmitri💡 in Go-go!
Daniel Podolsky
не любые
нельзя те что нельзя сравнить?
источник

DP

Daniel Podolsky in Go-go!
Calculon
приведи пример, а то я тебе не верю
источник

МП

Мимо Проходящий... in Go-go!
👍🏼 так понятно
источник

ЛА

Локоть Анатолий... in Go-go!
Calculon
в пользовательских типах нельзя определять операторы, тем не менее их можно юзать как ключи
Ключами могут быть типы, основанные на "comparable" - скаляры, каналы, массивы.
Не могут быть ключами - слайсы, мапы, функции.
источник

DP

Daniel Podolsky in Go-go!
dmitri💡
нельзя те что нельзя сравнить?
да (на самом деле, я думаю, те, копия которых позволяет мутировать оригинальные данные. но прямо сказано именно об операторе эквивалентности. например, [16]byte может быть ключом, а []byte - нет)
источник

C

Calculon in Go-go!
Локоть Анатолий
Ключами могут быть типы, основанные на "comparable" - скаляры, каналы, массивы.
Не могут быть ключами - слайсы, мапы, функции.
спасибо
источник

p

pragus in Go-go!
Локоть Анатолий
Ключами могут быть типы, основанные на "comparable" - скаляры, каналы, массивы.
Не могут быть ключами - слайсы, мапы, функции.
а что, слайс у нас не скаляр? )
источник

МП

Мимо Проходящий... in Go-go!
а если ассоциативный контейнер был binary tree, то требовалось бы <, а не ==
источник

ЛА

Локоть Анатолий... in Go-go!
pragus
а что, слайс у нас не скаляр? )
Да, проще было не употреблять тот термин)
источник

DD

Deka Dancer in Go-go!
Народ плиз подскажите хедлес броузер чтобы порулить из го а то потерял заметку
источник

RA

Rinat Almakhov in Go-go!
Хром?
источник

C

Calculon in Go-go!
Deka Dancer
Народ плиз подскажите хедлес броузер чтобы порулить из го а то потерял заметку
chromedp
источник

Вy

Вячеслав yaches... in Go-go!
Имею вопрос насчет работы с sqlx.

В базе две таблицы: foo (поля id, abc) и bar (поля id, foo_id)
Аналогично в коде описаны две структуры:
type Foo struct {
 ID  int `db:"id"`
 Abc int `db:"abc"`
}
type Bar struct {
 ID    int `db:"id"`
 FooID int `db:"foo_id"`
}

И я хочу одним запросом получить список Foo и соответствующих им Bar (если таковые есть), чтобы получить что-то такое:
type FooWithBar struct {
 Foo Foo
 Bar *Bar
}
var result []FooWithBar
Выполнив запрос наподобие этого:
SELECT * FROM foo LEFT JOIN bar ON foo.id = bar.foo_id

Вопрос:
Есть ли способ размаршалить результат последнего SQL запроса, который вернет строки, содержащие все поля обеих таблиц, в структуру наподобие FooWithBar, чтобы поля из разных таблиц оказались в разных полях структуры?
источник

ЛА

Локоть Анатолий... in Go-go!
Вячеслав yaches
Имею вопрос насчет работы с sqlx.

В базе две таблицы: foo (поля id, abc) и bar (поля id, foo_id)
Аналогично в коде описаны две структуры:
type Foo struct {
 ID  int `db:"id"`
 Abc int `db:"abc"`
}
type Bar struct {
 ID    int `db:"id"`
 FooID int `db:"foo_id"`
}

И я хочу одним запросом получить список Foo и соответствующих им Bar (если таковые есть), чтобы получить что-то такое:
type FooWithBar struct {
 Foo Foo
 Bar *Bar
}
var result []FooWithBar
Выполнив запрос наподобие этого:
SELECT * FROM foo LEFT JOIN bar ON foo.id = bar.foo_id

Вопрос:
Есть ли способ размаршалить результат последнего SQL запроса, который вернет строки, содержащие все поля обеих таблиц, в структуру наподобие FooWithBar, чтобы поля из разных таблиц оказались в разных полях структуры?
Думаю, что ембединг сработает в этом случае.
источник

Вy

Вячеслав yaches... in Go-go!
Локоть Анатолий
Думаю, что ембединг сработает в этом случае.
Работает, но с оговорками:
1) будут поля с одинаковыми названиями и тегами db:"id", одно из них не заполнится
2) в случае с left join - not null поля из правой таблицы могут стать null, и это вызовет ошибку маршалинга
источник