Artur
Небольшой туториал по дженерикам https://youtu.be/kKu9HuOvaUY
Sergey
Всем привет, ребят, подскажите, пожалуйста, для обычной vs, не code, нет возможности писать на go со всеми плюшками vs в плане отладки, компиляции и т.д.?
Sergey
Или может посоветуете годную фри ide для go
Bagasl
Bagasl
Это самая годная фри IDE
Alexander
чем не ide?
Sergey
я просто привык к обычной vs
Sergey
в code есть компиляция, дебаггинг? просто даже не устанавливал его)
Alexander
дебаг есть
Sergey
а компилировать через терминал?
Alexander
Sergey
ещё нагуглил liteide, вроде для go прям заточена, кто-нибудь знает и юзает её?
Bagasl
Sergey
отлично, установлю, спасибо)
Bagasl
это же не си
Bagasl
Sergey
Sergey
ага
Sergey
ну да, тоже быстро, к пред. команде типа вернуться)
Bagasl
а так есть шорткат на запуск точно такой же
Sergey
я просто не знал, что в vs code есть встроенный терминал, думал это просто редактор кода
Рик
Vitaly
👍
🅞leksiy
ну набирать в терминале go run и т.д. каждый раз, дольше же, чем просто на кнопку нажать
На всякий случай, в терминале каждый раз набирать не нужно, просто нажимаешь стрелку вверх-вниз и выбираешь ранее введенную команду. Если дебагер не нужен и нужно запустить связанные проекты без докера, то в вс коде добавляешь несколько каталогов в проект, в каждом открываешь вкладку терминала vscode и "go run .". Вполне удобно, не нужно никуда выходить из редактора.
Liqiudationmarket.ru
Привет, ищем мидл разработчика в команду международного проекта.
Навык разработки парсеров. В лс
Alexandr
всем привет, помогите что то туплю: data[0:100] возвращает type byte[] а мне надо byte[100]
Bagasl
Bagasl
Но зачем тебе нужен массив?
Alexandr
Bagasl
Alexandr
Bagasl
в куче
Тогда твой массив на 100 байт занимает 112 байт в куче 🙂
Bagasl
если у тебя 32-х битная система - слайс на 100 элементов займёт те же 112 байт
Bagasl
на 64 - 128.
Bagasl
Стоит ли эта экономия использования массива?
Alexandr
Alexander
Но процом платишь за конверсии в слайс и обратно
Alexander
Такие оптимизации надо сначала через бенчмарки прогонять, а уже потом внедрять. Очень сомнительно
Alexander
А до этого надо выяснить что этот кусок стоит оптимизировать
Alexandr
Alexandr
А до этого надо выяснить что этот кусок стоит оптимизировать
тут и так понятно когда в памяти лежит куча данных которые тебе не нужны, оставляешь только то что нужно и работаешь только с тем что нужно, лучше пусть проц обрежет, чем лишних пару гигов в памяти будут болтаться и к ним через слайс обращаться
Alexander
Alexandr
Alexander
Пару гигов... А на деле пару килобайт, когда рантайм про запас будет держать несколько мегабайт, а освободившуюся память ещё не понятно когда соберет
Alexandr
в го быстро собирает по пустым ссылкам, к тому же если сперва все данные подготовить и больше не возвращаться к начальной информации
Alexandr
Alexander
лучше пул слайсов байтов использовать. пускай лишнее будет лежать, но гц не работает и выделять заново не знаю. хотя не в курсе, что у тебя за пример, но в долгоживущих вещах оно часто так
🅞leksiy
🅞leksiy
Остальное очистит gc, если ссылок на data не останется
🅞leksiy
data = data[0:100:100]
🅞leksiy
Alexandr
data = data[0:100:100]
ну так он все равно по типу возвращает byte[]
data := make(map[int][100]byte, count)
z := input[:100:100]
data[i] = z
Cannot use 'z' (type []byte) as type [100]byte
🅞leksiy
🅞leksiy
🅞leksiy
Чтобы скопировать в массив, выше написали способ. В моем варианте ты получаешь слайс, с указателем на тот же внутренний массив (от оригинального слайса), без копирования. Но отбрасываешь лишние данные.
Алексей
Ребята. Что нужно сделать, чтобы функция из одного модуля виделать в другом?
Алексей
main. go и deb.go. func debugFoo() {}
🅞leksiy
Алексей
Да
🅞leksiy
Просто вызывай функцию в другом файле, в одном каталоге может быть только один пакет
Алексей
Пишет undefined debugFoo
🅞leksiy
Ты как запускаешь, go run main.go ?
🅞leksiy
Запускай go run . в каталоге
Алексей
Да
Алексей
А. Спс!
Eugene 🇺🇦 | KIRA Staking | WON'T PM YOU FIRST
Ребята, читал историю чата на предмет создания deb пакетов. Кто-то из вас сталкивался с задачей упаковать go приложение в deb пакет с возможностью CI
🅞leksiy