Size: a a a

2020 May 04

C

Calculon in Go-go!
Calculon
а ну и да, слайсы в го это не векторы
они похожи на динамические массивы, но там много шаманства поверх
источник

C

Calculon in Go-go!
наверное поэтому и назвали слайс
источник

a

aĸιonĸa 🇷🇺... in Go-go!
Мерль🛠
да, всё развалится

я советую посмотреть в сторону форматов с поддержкой потоков, даже банальный json подойдёт — вполне нормально будет работать через tcp. Если хочется чего-то покомпактнее — то есть msgpack, protobuf — а если взяли последний, то можно уж и gRPC просто взять )

сразу получите и формальное описание схемы и сервисов, tls из коробки и кучу всяких приблуд из экосистеы
gRPC круто, но у меня скрипт на луа. сомневаюсь, что на луа есть хорошая либа гпрс
источник

J

Je in Go-go!
aĸιonĸa 🇷🇺
gRPC круто, но у меня скрипт на луа. сомневаюсь, что на луа есть хорошая либа гпрс
Рекомендую twirp, хорошо заходит для таких случаев. Плагин к GRPC
источник

a

aĸιonĸa 🇷🇺... in Go-go!
Je
Рекомендую twirp, хорошо заходит для таких случаев. Плагин к GRPC
Нет поддержки Lua :(
источник

J

Je in Go-go!
Ну хотя бы сервак с rest api и openapi документацией к го у тебя будет, со стороны луа любым http-клиентом подключишься
источник

ВС

Владимир Столяров... in Go-go!
aĸιonĸa 🇷🇺
gRPC круто, но у меня скрипт на луа. сомневаюсь, что на луа есть хорошая либа гпрс
avro? ну или голый protobuf
источник

a

aĸιonĸa 🇷🇺... in Go-go!
Je
Ну хотя бы сервак с rest api и openapi документацией к го у тебя будет, со стороны луа любым http-клиентом подключишься
REST API нужно каждый раз новое соединение создавать (наверное?) А мне надо кучу запросов в секунду делать.

Я думаю в сторону WebSockets
источник

J

Je in Go-go!
aĸιonĸa 🇷🇺
REST API нужно каждый раз новое соединение создавать (наверное?) А мне надо кучу запросов в секунду делать.

Я думаю в сторону WebSockets
Не совсем, со времен http1.1 появился keep alive и почти все солидные клиенты работают с пулом соединений
источник

N

Nikolay in Go-go!
товарищи, пытаюсь передать chan *SomeStructure в качестве аргумента в функцию, которая принимает chan interface {}. Получаю "cannot use inpCh (type chan *SomeStructure) as type <-chan interface {} in argument to SomeFunction". Если делаю канал только для чтения - ничего не меняется. Почему?
источник

C

Calculon in Go-go!
Nikolay
товарищи, пытаюсь передать chan *SomeStructure в качестве аргумента в функцию, которая принимает chan interface {}. Получаю "cannot use inpCh (type chan *SomeStructure) as type <-chan interface {} in argument to SomeFunction". Если делаю канал только для чтения - ничего не меняется. Почему?
типы разные
источник

АП

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

N

Nikolay in Go-go!
Calculon
типы разные
так интерфейс должен принимать любой же, нет?
источник

N

Nikolay in Go-go!
или указатель на структуру он не осиливает?
источник

C

Calculon in Go-go!
Nikolay
так интерфейс должен принимать любой же, нет?
это не интерфейс, это канал интерфейсов
источник

C

Calculon in Go-go!
напиши функцию которая принимает канал со структурой, а отдает канал с интерфейсом
источник

N

Nikolay in Go-go!
Calculon
это не интерфейс, это канал интерфейсов
а, то есть это все из-за отсутствия паттернматчинга
источник

N

Nikolay in Go-go!
спасибо, понял
источник

C

Calculon in Go-go!
Nikolay
а, то есть это все из-за отсутствия паттернматчинга
нет, это из-за типизации
источник

N

Nikolay in Go-go!
Calculon
нет, это из-за типизации
ну в теории при паттернматчинге какой-нибудь chan Some() решил бы эту проблему
источник