Fastumkruk
cannot use st (type []byte) as type byte in return argument
Artem
Fastumkruk
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
Artem
И в правду дела...
вот вот []byte != byte. Лучше разберитесь сразу почему, это вам пригодится
Fastumkruk
[]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
Мерль
Wingman
оу
Мерль
Точнее произойдёт копирование
Мерль
И у тебя будет указатель на старую копию
Slava
string
гошный тип string?
Wingman
@twentydraft
а если нужно держать где-то пул объектов и ссылаться на них в куче мест?
сразу в мапу указатели класть?
Fastumkruk
Мерль
Wingman
Artem
А для продакшена мы делаем;
go build app
go install app
./app &
И все будет норм работать?
Daniel
а?!
Artem
Мне просто после пхп, где интерпретатор, не привычно работать с го, где компилятор
Artem
Точнее я не умею
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
Wingman
:)
Ilia
После которого можно начинать думать про кубик
Ilia
Нельзя понять необходимость кубика не попробовав хотя бы systemd
Ilia
Ну так и о том и говорю
Sergei
не забудьте добавить какой-нибудь JS-фреймворк