Size: a a a

2020 June 23

с

сонная википедия... in Go-go!
почему костылей
такие вещи по-нормальному либо через tagged union делаются, либо через динамическую типизацию, там проверять никто не будет
источник

LS

Leonid Starchenko in Go-go!
Хм... Имхо, мне кажется если к такому пришло, архитектура решения вероятно не та
источник

ЮВ

Юрий Вельмесов... in Go-go!
я сделал мапу из interface{}

но теперь в тех местах где я дергаю значение из мапы в которой и стринги и инты, он мне ругается:

cannot use namedCaptures["user_id"] (type interface {}) as type int in field value: need type assertion
источник

с

сонная википедия... in Go-go!
я же показал как

if i, ok := m["key"]; ok {
   if value, ok := i.(string); ok {
   }
}
источник

ЮВ

Юрий Вельмесов... in Go-go!
я это побеждал вот так:  namedCaptures["user_id"].(int)
источник

с

сонная википедия... in Go-go!
первое выражение — взятие элемента из мапы
второе — этот самый type asseration
источник

ЮВ

Юрий Вельмесов... in Go-go!
но хотелось бы сразу с мапы брать значение без преобразования типов
источник

с

сонная википедия... in Go-go!
Юрий Вельмесов
я это побеждал вот так:  namedCaptures["user_id"].(int)
это вызовет панику, если там будет не int
источник

VM

Vladislav Milenin in Go-go!
Юрий Вельмесов
но хотелось бы сразу с мапы брать значение без преобразования типов
🤦🏼‍♂️ значит не используйте интерфейс
источник

ЮВ

Юрий Вельмесов... in Go-go!
а у меня в мапе всего два типа могут быть инт и стринг
источник

с

сонная википедия... in Go-go!
ну либо через interface{}, либо через структуру содержащую оба варианта
источник

VM

Vladislav Milenin in Go-go!
Либо как нормальные люди преобразовывать тип при записи и без проблем доставать
источник

с

сонная википедия... in Go-go!
Vladislav Milenin
Либо как нормальные люди преобразовывать тип при записи и без проблем доставать
либо использовать две мапы🤡
источник

с

сонная википедия... in Go-go!
и структуру с String(key string)/Int(key string)
источник

VM

Vladislav Milenin in Go-go!
сонная википедия
либо использовать две мапы🤡
Под одним мьютексом 🤡
источник

с

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

с

сонная википедия... in Go-go!
эх, tagged union мало где есть, надеюсь в dev.go2go допилят что-то красивое и похожее на них
источник

VM

Vladislav Milenin in Go-go!
map[[2]interface{}]interface{}
источник

с

сонная википедия... in Go-go!
гений
источник

с

сонная википедия... in Go-go!
если newtype'ом обернуть
источник