Fastumkruk
cannot use st (type []byte) as type byte in return argument
Artem
cannot use st (type []byte) as type byte in return argument
что значит магическое [] перед byte ?
Fastumkruk
что значит магическое [] перед byte ?
Из старых примеров брал...
Artem
Из старых примеров брал...
не нужно брать магические заклинания, предварительно полезно поинтересоваться что они делают. Там и будет ответ на вопрос.
Fastumkruk
func Test() byte { // byte возращяемое значение st := byte("Return Value!") // string в byte return st // Возращяем байты }
Fastumkruk
Получаем: cannot convert "Return Value!" (type untyped string) to type byte
Slava
дела
Slava
@Fastumkruk byte - это число
Slava
строку в число сконвертировать не так просто
Fastumkruk
Fastumkruk
И в правду дела...
Slava
я думаю под словом байты, ты подразумеваешь список байтов
Slava
типа []byte
Slava
func Test() []byte { st := []byte("Return Value!") return st } вроде такого
Fastumkruk
я думаю под словом байты, ты подразумеваешь список байтов
Так и есть. []byte получал ответ от сервера и преобразовывал в строку.
Artem
И в правду дела...
вот вот []byte != byte. Лучше разберитесь сразу почему, это вам пригодится
Fastumkruk
[]byte массив байтов, byte байты... Думаю так
Artem
[]byte массив байтов, byte байты... Думаю так
и именно потому он не может в байт сконвертировать строку, а вот в массив байт уже может.
Slava
byte - это один байт (uint8), число от 0 до 255) https://golang.org/ref/spec#Numeric_types
Slava
наврал
Slava
вот так
Fastumkruk
Все же крашиться программа если в DLL передавать []byte
Slava
Слайс байтов это сложная ссылочная структура
Slava
Что длл ожидает то?
Slava
Или ты методом тыка пытаешься?
Fastumkruk
Для начала тестю просто работу. Из программы через DLL запрашиваю функцию которая просто возращяет текст.Инты нормально возращяються, string возращяет знаки вопросов,а []byte крашут программу.
Slava
что такое текст?
Slava
что за тип?
Fastumkruk
string
Wingman
гм а подскажите плз, почему нельзя передавать указатели на элементы map?
Мерль
Creating shared libraries in Go http://snowsyn.net/2016/09/11/creating-shared-libraries-in-go/
Мерль
Wingman
оу
Мерль
Точнее произойдёт копирование
Мерль
И у тебя будет указатель на старую копию
Slava
string
гошный тип string?
Wingman
@twentydraft а если нужно держать где-то пул объектов и ссылаться на них в куче мест? сразу в мапу указатели класть?
Wingman
Да
Благодарю! :)
Artem
А для продакшена мы делаем; go build app go install app ./app & И все будет норм работать?
Daniel
а?!
Artem
Мне просто после пхп, где интерпретатор, не привычно работать с го, где компилятор
Artem
Точнее я не умею
Мерль
А для продакшена мы делаем; go build app go install app ./app & И все будет норм работать?
А зачем делать go install? И вообще, достаточно скопировать бинарник на сервер, не обязательно собирать приложение на боевой машине
Artem
У меня всё на боевой машине, просто я повесил на разные порты веб сервер для боевого и тестового режима
Artem
Просто мне стремно, что процесс отвалится
Artem
Тут же не как в пыхе
Мерль
Ну это такое решение Лучше собирать у себя, на сервер отправлять уже собраную штуку
Artem
Отвалится и все перестанет работать
Artem
Вообще я просто не понимаю сути, так как не сталкивался с таким подходом
Мерль
Отвалится и все перестанет работать
Есть такая штука как супервизор, типа systemd или runit Они могут перезапускать приложение, и запускать на старте системы Docker не советую, до него ещё дожить надо
Slava
Просто мне стремно, что процесс отвалится
добавь его в супервизор какой-нибудь
Artem
Я думал просто на крон повесить
Мерль
Это не его задача
Artem
Советуете почитать про супервизор?
Slava
советуем
Sergei
советую перестать читать про супервизор и начать читать про systemd
Artem
Спасибо, я ещё вернусь, сейчас почитаю :)
Artem
Я так понял они для одного и того же, не?
Sergei
нет, они не совсем для одного и того же, хотя частично функционал дублируется. вопрос в том что systemd у вас на линуксе наверняка уже есть.
Slava
вообще лучше конечно всё в кубернетис завернуть
Slava
и через месос
Artem
Установить не проблема же. Если они отрабатывают одинаково, то мне без разницы, если systemd лучше, то конечно он для меня предпочтительнее
Wingman
системд монструозен и отвратителен, а супервизорд - быстрая, простая и узконаправленная штука :)
Мерль
вообще лучше конечно всё в кубернетис завернуть
Сейчас он посмотрит на кубернетес, испугается и убежит на апач+пых
Artem
Апач не использую
Artem
Nginx
Ilia
systemd это определенный шаг
Wingman
:)
Ilia
После которого можно начинать думать про кубик
Ilia
Нельзя понять необходимость кубика не попробовав хотя бы systemd
Мерль
После которого можно начинать думать про кубик
После него можно подумать про докер Если у тебя нагрузка в два пользователя в день, то кубер здесь может быть нужен только для опыта
Ilia
Ну так и о том и говорю
Sergei
не забудьте добавить какой-нибудь JS-фреймворк