Size: a a a

2020 June 30

Y

Yevhenii in Go-go!
Егор Андреевич
Зависит от ситуации, на транспортном уровне - норм, на уровне логики на больших объёмах вероятно нет, чтобы точнее узнать - пиши бенчмарк по своей ситуации
Ага, окей, понял
источник

Н

Никита in Go-go!
Yevhenii
В целом это ОЧЕНЬ плохо или норм? json же вроде так устроен 🤔
Норм, но как-то использовать ее практически не приходилось. Разве что когда писал кастомный валидатор структуры
источник

SP

Slava Pinchuk in Go-go!
Yevhenii
Насколько у нас рефлексия вообще быстрая? Ну, скажем брать поля структуры и их значения
Пиши Бен марки и узнаешь. Странно что до сих пор не написал)
источник

Y

Yevhenii in Go-go!
Окей, спасибо. Есть еще вопрос, не уверен как поступить
Есть структура Packet, у которой есть поле Code. Мне нужно в функцию передавать структуру, которая наследует Packet. Попробовал передать структуру, в которой есть Packet, но так нельзя.
Как мне быть? Сделать Packet интерфейсом и сделать ему метод GetCode, или есть решения получше
источник

E

Edgar in Go-go!
Что? Какое наследование?
источник

ЕА

Егор Андреевич... in Go-go!
Yevhenii
Окей, спасибо. Есть еще вопрос, не уверен как поступить
Есть структура Packet, у которой есть поле Code. Мне нужно в функцию передавать структуру, которая наследует Packet. Попробовал передать структуру, в которой есть Packet, но так нельзя.
Как мне быть? Сделать Packet интерфейсом и сделать ему метод GetCode, или есть решения получше
если под наследует ты имеешь ввиду композицию, то проверь что у тебя поля экспортное (начинается с заглавной буквы)
источник

SP

Slava Pinchuk in Go-go!
Edgar
Что? Какое наследование?
нет в Го наследования )
источник

AM

Askold Monarkhov in Go-go!
Slava Pinchuk
нет в Го наследования )
есть же
источник

SP

Slava Pinchuk in Go-go!
Askold Monarkhov
есть же
покажи )
источник

AM

Askold Monarkhov in Go-go!
ну оно по другому называется, а в целом
type B struct {}
type A struct {
B
}
источник

DP

Daniel Podolsky in Go-go!
это встраивание

и оно ни с какого боку не наследование
источник

Н

Никита in Go-go!
Yevhenii
Окей, спасибо. Есть еще вопрос, не уверен как поступить
Есть структура Packet, у которой есть поле Code. Мне нужно в функцию передавать структуру, которая наследует Packet. Попробовал передать структуру, в которой есть Packet, но так нельзя.
Как мне быть? Сделать Packet интерфейсом и сделать ему метод GetCode, или есть решения получше
Передать поинтером
источник

E

Edgar in Go-go!
Slava Pinchuk
нет в Го наследования )
Так, а я сказал, что есть?
источник

SP

Slava Pinchuk in Go-go!
Edgar
Так, а я сказал, что есть?
Слава богу не )
источник

SP

Slava Pinchuk in Go-go!
Daniel Podolsky
это встраивание

и оно ни с какого боку не наследование
++
источник

Н

Никита in Go-go!
Как то не могу понять, почему проблема цикличного референса не решается в языках lazy loadingом
источник

Y

Yevhenii in Go-go!
Егор Андреевич
если под наследует ты имеешь ввиду композицию, то проверь что у тебя поля экспортное (начинается с заглавной буквы)
Code с большой. Во пример того, что нужно

type Packet struct {
 Code    uint16
}
type PacketOne struct {
 Packet
 MyField string
}
func Smth(packet Packet)

И мне нужно сделать что-то типу
Smth(PacketOne{})
,  но такое не компилируется, ибо не тот тип
источник

Y

Yevhenii in Go-go!
Edgar
Что? Какое наследование?
Я курсивом выделил, ибо имел ввиду нечто похожее
источник

АП

Александр Попов... in Go-go!
мне тут интересно стало
источник

АП

Александр Попов... in Go-go!
чем то
var ch chan int
от
ch := make(chan int)
отличается?
источник