Size: a a a

2020 February 28

DP

Daniel Podolsky in Go-go!
Ilya Kaznacheev
Господа, а какой тип в протобафе лучше всего подойдет для map[string]interface{}?
Я нашел про google.protobuf.Any, но он вроде как для http, нежели универсальный
не надо такой тип передавать в протобафе
источник

IK

Ilya Kaznacheev in Go-go!
Daniel Podolsky
не надо такой тип передавать в протобафе
Ок, а как тогда мне быть, если нужно передать глубокую структуру неизвестной конфигурации (контекст темплейта)?
источник

RS

Roman Sharkov in Go-go!
Ilya Kaznacheev
Господа, а какой тип в протобафе лучше всего подойдет для map[string]interface{}?
Я нашел про google.protobuf.Any, но он вроде как для http, нежели универсальный
а почему именно interface{} ?
источник

IK

Ilya Kaznacheev in Go-go!
Roman Sharkov
а почему именно interface{} ?
Ну в моем случае это дерево, которое может кончаться либо на string, либо на []string, либо на map[string]string
источник

DP

Daniel Podolsky in Go-go!
Ilya Kaznacheev
Ок, а как тогда мне быть, если нужно передать глубокую структуру неизвестной конфигурации (контекст темплейта)?
не бывает структур неизвестной конфигурации
источник

IK

Ilya Kaznacheev in Go-go!
Обычный контекст для темплейта короче
источник

DP

Daniel Podolsky in Go-go!
Ilya Kaznacheev
Ну в моем случае это дерево, которое может кончаться либо на string, либо на []string, либо на map[string]string
в protobuf есть oneof
источник

M

Meow in Go-go!
Ilya Kaznacheev
Ну в моем случае это дерево, которое может кончаться либо на string, либо на []string, либо на map[string]string
json.Marshal()
источник

IK

Ilya Kaznacheev in Go-go!
Meow
json.Marshal()
Эмм, передавать bytes?
источник

M

Meow in Go-go!
Да, на крайняк
источник

IK

Ilya Kaznacheev in Go-go!
JSON поверх gRPC
источник

M

Meow in Go-go!
Но это плохой совет, я сам так не делаю
источник

IK

Ilya Kaznacheev in Go-go!
Элегантно
источник

IK

Ilya Kaznacheev in Go-go!
Ну в целом это решило бы проблему - это контейнер для сообщения динамического типа, по сути
источник

M

Meow in Go-go!
Если типов которые нужно передавать огнариченое количество, то можно сделать поле type, в котором будет enum списка типов, и несколько полей, для каждого с типов
источник

M

Meow in Go-go!
Ну и просто задавать полем type только тот тип который хочешь передать
источник

RS

Roman Sharkov in Go-go!
не уверен как JSON скажется на производительность, но в целом он, как мне кажется, задачу облегчит
источник

M

Meow in Go-go!
А вообще да, oneof хороший вариант
источник

M

Meow in Go-go!
Но опять же если количество типов ограничено
источник

D

DaySandBox in Go-go!
Message from Anak Matt deleted. Reason: external link (?)
источник