🎉
А для продакшена мы делаем; go build app go install app ./app & И все будет норм работать?
Ещё мона так make vendor make check make build https://github.com/rumyantseva/go-zeroservice
🎉
Игорь
Раз уж о демонах заговорили вставлю пару слов. Нашел библиотеку интересную. https://github.com/takama/daemon Позволяет одной командой сгенерировать конфиг для запуска демона. В случае macos создает конфиг для launchctl. Если Linux - systemd. В случае с Windows незнаю что используется но вроде как работает. Использовать просто: 1. ./app install 2. ./app start Больше ничего сказать не могу толкового. Вдруг кому пригодится.
🎉
Та зачем генерить-то? Там конфиг детский, на несколько строчек и три-четыре команды для работы, всё.
Denis
товарищи, поделитесь, кто что пишет на го? после некоторого опыта понял, что мне для апи-крудов он не очень подходит, а других вещей я особо не писал за исключением ГИС-сервисов. это сугубо мое мнение, если вы шлепаете на Го круды и довольны - хорошо
Artem
товарищи, поделитесь, кто что пишет на го? после некоторого опыта понял, что мне для апи-крудов он не очень подходит, а других вещей я особо не писал за исключением ГИС-сервисов. это сугубо мое мнение, если вы шлепаете на Го круды и довольны - хорошо
api ничего лучше Go для этого не нашел. Но по работе я его практически не касаюсь. потому смело могу ответить "все или ничего" :) Еще была пара ботов. но выбор был не принципиальным
babelby
а то вот начал пользоваться, а все не покидает чувство нафиг))
Artem
а ты юзал https://github.com/wantedly/apig
нет во первых я стараюсь использовать grpc, в том числе для практики и я пока не решал сверх сложных задач и не упирался в проблемы стандартной либы.
Stanislav
немного gtk2 :)
Michael
therecipe/qt, webview
я в основном Qt тоже, думал, может что новое появилось
Stanislav
да вроде ничего особо нового не появилось
Fastumkruk
Char в golang это какой тип?
Fastumkruk
rune
thx
Nikita
thx
Только он длиной 32 бита
Nikita
Маловато
Зато в четыре раза больше, чем в си
Anonymous
Маловато
Это да, под все эмодзи точно не хватит!
Michael
char ~ byte
Wingman
если я где-то делаю struct.param = &some, а потом где-то ещё - struct.param = nil — будет ли утечка, или gc подотрёт?
Michael
но char != символ
Michael
хоть в го хоть с++ если юникод
Nikita
но char != символ
Таки символ, ибо char - character, изначально подразумевалось, что восемь бит на символ всем хватит.
Fastumkruk
Есть ли возможность конвертировать строку в Unicode ?
Fastumkruk
В го все строки в юникоде
Возращяю строку через DLL в другую программу, пишет ????????? . Читал, что другая прога хочет Unicode, а не ANSI. Тут тогда не понятно...
Michael
а стороковые литералы это utf8 и там на символ руну может быть от1 до 6 байт
Nikita
Возращяю строку через DLL в другую программу, пишет ????????? . Читал, что другая прога хочет Unicode, а не ANSI. Тут тогда не понятно...
Бери отладчик, смотри побайтно. Латиница в обычном ASCII не должна ни при каких обстоятельствах в ??? превращаться
Nikita
да char не существует, так как это всего лишь алиас
В го нет char, а в си это не алиас, а встроенный тип
Michael
В го нет char, а в си это не алиас, а встроенный тип
про го и не утверждалось, а char это скорее ключевое слово, кот. не обязывает к явному приведению типа, так оно (char) там целый тип
Alexander
Возращяю строку через DLL в другую программу, пишет ????????? . Читал, что другая прога хочет Unicode, а не ANSI. Тут тогда не понятно...
Винда внутри вроде UCS2 использует. Надо перекодировать из utf8, который в Го используется
Michael
Как перекодировать?
по гуглить на тему multibyte to utf 8
Alexander
ucs-2, utf 16
В Го строки utf16?
Alexander
Ок, понял
Michael
В Го строки utf16?
иногда встречается обозначение как просто Unicode
Alexander
Просто unicode - это неправильно. Юникод определяет символы (unicode points), которые могут кодироваться самыми разными способами
Michael
В Го строки utf16?
в Го исходный код и литералы - utf8, сами строки это уже более сложный объект, чем тот же массив байт, string это для удобства программиста
Michael
приходится жить с тем что там есть
Zver
https://golang.org/pkg/unicode/utf16/
Pawel
товарищи, поделитесь, кто что пишет на го? после некоторого опыта понял, что мне для апи-крудов он не очень подходит, а других вещей я особо не писал за исключением ГИС-сервисов. это сугубо мое мнение, если вы шлепаете на Го круды и довольны - хорошо
для апи-крудов он не очень подходит - вы что-то поняли не правильно, я гарантирую это. Прпоще сказать для чего не подходит - для любого фронтэнда - тупо нет фреймворков. Упомянутые биндинги - масдай. Ещё мне очень не понравилось писать сложные парсеры на Го, поскольку я знаю как просто они пишутся на хаскеле
Fastumkruk
func MyRequest(Input string) bool { Input = "New string - respond" return true } Функция возращяет bool, но как еще вернуть ответ в string. На другом сишном языке MyRequest(&Input string) bool так прописываеться, а на go как?
Wingman
gc как раз таки для этого и существует
ну я на всякий случай уточнить :) В слайсах, например, это не работает (вроде как)
Pawel
👍 Компилит, опробую.
никогда так не делайте, за такое надо руки отрывать по хорошему
Alexander
Впилить структурку резалт? Из строки и числа.
Pawel
делайте как предложил @rvasily и только так
Fastumkruk
делайте как предложил @rvasily и только так
Оба вариант работают одинаково
Fastumkruk
Получаю вот что. В другой программе
Artem
Оба вариант работают одинаково
вопрос не в работают Павел прав, я просто привел пример как сделать то, что вы хотите максимально близко к примеру, но так не очень хорошо поступать. Но я бы все равно предпочел что -то похожее на: type MyString struct { line string } func (Input *MyString) MyRequest() bool { (*Input).line = "New string - respond" return true } func main() { s := MyString{"Hi"} _ = s.MyRequest() println(s.line) }
Fastumkruk
Все работает, спасибо. Но что мне делать с кракозябрами?
Artem
Все работает, спасибо. Но что мне делать с кракозябрами?
вы в powershell выполняете? я не особо в винде понимаю. но попробуйте кодировку изменить на utf8
Fastumkruk
вы в powershell выполняете? я не особо в винде понимаю. но попробуйте кодировку изменить на utf8
DLL делаю для MetaTrader4, оттуда и вызываю функцию. Но в ответ вместо строки получаю кракозябры. Нужно кодировка Unicode для MT4, но сказали что в го и так unicode по умолчанию...
Fastumkruk
Находил похожую проблему, там сказали что такое из за кодировки анси
Artem
DLL делаю для MetaTrader4, оттуда и вызываю функцию. Но в ответ вместо строки получаю кракозябры. Нужно кодировка Unicode для MT4, но сказали что в го и так unicode по умолчанию...
может вам не строка а массив байт приходит? (хотя вряд ли) но проблема именно с кодировкой, в го все в юникоде, может приходит что то другое
Fastumkruk
Видимо разные типы строк в MT4 и в DLL
Artem
Видимо разные типы строк в MT4 и в DLL
попробуйте посмотреть что вам приходит через utf8.ValidString(s)
Artem
это в Go коде когда получаете строку