Женерики — ето несбыточная мечта программистов сделать единую функцию для всего.: о)))
Вобщем такая гипертрофированная кнопка «убить всех».
Но реальная жизнь не терпит женериков, поетому женерики не нужны.
Можно несколько значений возвращать: о) Удобно, когда промежуточные значения функции тоже имеют смысл, чтобы не вызывать две+ функции. А в основном второе значение используется для возврата ошибки. Ещё удобно игнорить возвращаемое значение подчёркиванием, когда оно не нужно. Например:
a, _ := foo() или _, err := foo()
Да. Но нет смысла иметь все тысячи строк в одном файле.
Разбиваем пакет на несколько файлов, просто внутри будет один оператор
package xxx
а содержание разное.
Я обычно делаю два-три файла на пакет, в одном у меня то над чем работаю сейчас, а в других файлах уже отлаженные части етого пакета.
А Го умеет собирать пакет из нескольких файлов.
Канеш существует: о) Просто в Го как-бы нету лишних депендансов, хедеров всяких и прочего.
По большому счёту папка src, а внутри папки с исходниками разных частей.
Ключевое слово «сложная логика»?: о)
Ну не замечал сложностей в Го для такой логики. а мож не сталкивался: о)
Но если нужно сожрать, переварить и выдать мегаллионы байт, то тут Го канеш безусловный фаворит.
«Пока что я вижу по Go он хорош в качестве шустрой и простой прокладки (бридж, адаптер, гейт, шина и т. п.) между различными сервисами и протоколами, задача которой в основном преобразовывать данные из формата в формат (например из JSON в SQL и обратно)»
Да, это обычно самое первое применение Го при начале его применения — сделать быстро конвертер, который маленький, быстрый, не требует зависимостей, кроссплатформенный, понятный в чтении и сопровождении. Тут Го конечно фаворит.
Насчёт бизнес-логики не скажу, потому что не имел опыта. А вот насчёт как принять миллионы событий и обработать их и разослать — в этом Го — вентилятор. Мне кажется, что те куски приложений, которые конвейеризуются — самое то для применения Го.
Например «пул потоков».
Я не вижу, какой смысл в пуле потоков в Го, так как есть горутины. В промышленных приложениях работают сотни тысяч горутин.
Или у вас задача мапить потоки вашего приложения на потоки ОС и поэтому вам нужен собственный супервизор потоков?
Вобщем ваши вопросы звучат не для Го, потому что либо в Го таких вопросов нет, потому что они решены не вашими средствами, либо вы не знакомились с Го, поэтому ваши вопросы выглядят чужеродно: о)
«2. Запрещена публикация перевода произведения без официального разрешения автора оригинала.»
author.today/pages/rules
Слово «официального» означает, что вы должны предоставить нотариально заверенную письменную копию договора с автором.
Вобщем такая гипертрофированная кнопка «убить всех».
Но реальная жизнь не терпит женериков, поетому женерики не нужны.
a, _ := foo() или _, err := foo()
Чуть выше я привёл ссылку на статью, где такой пул воркеров реализован.
Разбиваем пакет на несколько файлов, просто внутри будет один оператор
package xxx
а содержание разное.
Я обычно делаю два-три файла на пакет, в одном у меня то над чем работаю сейчас, а в других файлах уже отлаженные части етого пакета.
А Го умеет собирать пакет из нескольких файлов.
По большому счёту папка src, а внутри папки с исходниками разных частей.
Ну не замечал сложностей в Го для такой логики. а мож не сталкивался: о)
Но если нужно сожрать, переварить и выдать мегаллионы байт, то тут Го канеш безусловный фаворит.
Да, это обычно самое первое применение Го при начале его применения — сделать быстро конвертер, который маленький, быстрый, не требует зависимостей, кроссплатформенный, понятный в чтении и сопровождении. Тут Го конечно фаворит.
Компилите исходник в нужную платформу: о)
Странный вопрос канеш: о))) Не поленитесь потратить десять минут на Го ЧаВо.
Я не вижу, какой смысл в пуле потоков в Го, так как есть горутины. В промышленных приложениях работают сотни тысяч горутин.
Или у вас задача мапить потоки вашего приложения на потоки ОС и поэтому вам нужен собственный супервизор потоков?
Вобщем ваши вопросы звучат не для Го, потому что либо в Го таких вопросов нет, потому что они решены не вашими средствами, либо вы не знакомились с Го, поэтому ваши вопросы выглядят чужеродно: о)