Язык программирования Golang - что на нем пишут, чем он хорош, зарплаты разработчиков
Вставка
- Опубліковано 6 тра 2024
- В этом видео поговорим про новый, модный и немножко на хайпе язык программирования GO
Курс о котором говорит Сергей: 🎓GOLANG - bit.ly/3O6iVWL
Оплата помесячно. Чем быстрее учитесь, тем быстрее закончите!
Новый поток курса Enterprise patterns стартует уже 1 июля!
🎓Enterprise patterns - 🎓Enterprise patterns - bit.ly/3NZm1M8
Есть вопросы по обучению в FoxmindEd? Пишите нам в телеграм - t.me/foxminded
Вы можете стать спонсором канала и получать плюшки - / @sergeynemchinskiy
❤ FoxmindEd в Instagram: / foxminded.ua
🎉 14 июля в FoxmindEd день рождения! Нам шесть лет!
Конечно, не так мы хотели отпраздновать день рождения… но мы выстояли и планируем стремительно развиваться, несмотря ни на что! И, конечно же, не можем оставить вас без подарков! Ведь знания нужны всегда и всем.
Итак, вперед к новым навыкам, новой профессии и новой жизни!
7.07 -21.07 (включительно) будет действовать скидка 10% на МЕНТОРИНГ от FoxmindEd на все направления для текущих и новых студентов на все месяцы, за которые готовы заплатить в период действия акции (оплачиваете за месяц - получаете скидку в месяц, платите за 2 - получаете скидку на 2 месяца и т.д.).
3600 грн/месяц, вместо 4000 грн/месяц (для резидентов Украины)
или
$135 в месяц, вместо $150 (для нерезидентов Украины)
*мы не сотрудничаем с резидентами РФ и РБ
**скидки не распространяются на формат «Менторинг плюс».
**скидка на менторинг для новых студентов действительна: при регистрации до 21 июля (включительно), начале тестового периода не позднее 22 июля и оплаты первого месяца сразу после тестового периода, без перерыва. Текущие студенты могут оплатить обучение со скидкой в период действия акции (с 7 по 21 июля 2022 года включительно).
***скидки не суммируются.
Регистрация - bit.ly/3IzBa4U
Курсы для новичков:
🎓JAVA - bit.ly/3zHvGmg
🎓JAVA Start - bit.ly/3NZiNbn
🎓PYTHON - bit.ly/3MTUzy4
🎓PYTHON Start - bit.ly/3O6iT15
🎓C#/.NET - bit.ly/3MXZrCj
🎓C# START - bit.ly/3OfXy4W
🎓Инструментарий JAVA - bit.ly/3O3pmtN
🎓Automation QA (Java) - bit.ly/39wpZgh
🎓ANDROID - bit.ly/3Hy9Ao9
🎓FRONT-END (ANGULAR) - bit.ly/3tGp5ET
🎓FRONT-END (REACT) - bit.ly/3xtDGEK
🎓SALESFORCE Developer - bit.ly/3tGPjXK
🎓UI/UX дизайн - bit.ly/3tDXCDW
🎓GAME DEVELOPMENT - bit.ly/3tBVv3p
🎓IOS разработка - bit.ly/3QrvrBN
🎓PHP - bit.ly/3tI5BQ6
🎓Обучение на проекте - bit.ly/3QnoK3P
🎓Unity - bit.ly/3tHwzHz
🎓NODE.JS - bit.ly/3QuN184
Продвинутые курсы для состоявшихся девелоперов:
🎓GRASP and GoF Design patterns - bit.ly/3OonoE7
🎓Алгоритмы и структуры данных - bit.ly/3xwufUZ
🔧 Пробное техническое собеседование со специалистом уровня Senior Developer/ Team Leader - bit.ly/3Hu8vh8
👔 Карьерная консультация с Сергеем Немчинским - bit.ly/3QlMvct
Сайт FoxmindEd: bit.ly/3xBWxNN
FoxmindEd в ФБ: / foxmindedco
FoxmindEd в Instagram: / foxminded.ua
Мой Telegram: t.me/nemchinskiyOnBusiness
Для деловых запросов: youtube@foxminded.ua
Тайминг:
00:00 - вступление
00:23 - история языка GO
02:03 - в чем суть языка GO?
02:58 - языки C и Rust
03:56 - для чего создали GO
05:04 - что пишут на GO
08:14 - спрос на разработчиков
08:47 - особенности языка
10:17 - кому подойдет этот язык?
11:12 - порог входа
14:38 - будущее этого языка
16:04 - зарплаты
17:05 - противоречивые примеры
До сих пор не выбрали язык программирования? 2 мая в 15.00 состоится бесплатный, но закрытый вебинар со мной.
💻 Регистрируйтесь на вебинар здесь - go.foxminded.ua/49RvFKY
Нам нужен goland разраб с опытом не менее 20 лет и не старше 25 лет
😅
Думаете ещё не родился такой индус?
Да, и именно Goland, Golang не предлагать!😁
@@ShuntySK , это опечатка)
Мож IDEшку разрабатывать? Но она на java
я дожил до этого, Сергей перечисляет плюсы Go. Осталось дожить до списка плюсов NodeJS :D
Просто у Foxminded появился курс по гошке, вот и нахваливает)
Будет курс по Коболу - и там найдёт плбсы6!)
Расскажите ему уже хоть кто-нибудь, что пхп и нода давно уже топ языки с дикой скоростью))
@@tomatguitar может, наоборот? Сначала оцениваешь язык, а потом готовишь по нему курс? Странно было бы делать курс по языку, который считаешь неудачным. Так себе бизнес-стратегия.
@@tomatguitar по NodeJS тоже есть курс)
Звук в видео очень приятный)
Сергей, классное видео!
Большое спасибо за видео!
Супер! Разложил все по полочкам!) Очень информативно)
Спасибо, наконец то дождался вашего экспертного мнения по Golang
2 года назад же было уже )
Наконец то я просветился про Go , благодарю )
Сергей, как всегда очень в тему, спасибо
Сергей, спасибо!!!
Go Go Go
Какая стабильность! Вы все еще Сергей Немчинский
Хах
Все ещё Сергей Немчинский. Все ещё каждый раз при случае рассказывает, как над ним надругался Google с GWT. Видимо, тут нужна какая-нибудь психотерапия или рехаб для enterprise-разработчиков.
Спасибо за видео) 👍
Спасибо! Просто круто! Очень по-народному объяснили. Народ Вас не забудет. Like!
Как всегда толково )
Сильно хочу посмотреть видео про rust, а особенно про объяснения того откуда в rust взялась ручная очистка памяти.
У rust автоматическая очистка памяти, основанная на правилах владения, взаимствования и времени жизни. На основе этих правил rust выполняет очистку памяти.
такая возможность есть, если были созданы циклические ссылки. Решение тут - week_ptr.
В интернете полно видео про rust, про то как фармить, лутать и строить жилище.
@@user-vg9dn2cc8x Да. Как у "плюсов"
@@madcalm2024 , нет. Не как у плюсов.
Спасибо за видео.
Like под видосик. Пошел дальше учить JS :)
xslt иканомит 99% js
🔥👍
Я как DevOps использую Go для написания либо системных утилит и микросервисов, либо как язык для операторов куба кастомных, очень приятный язык, а пайтон живет как язык либо быстрых скриптов, либо для системных сервисов (требовалась платформа с кнопками для менеджеров, чтобы быстро чинить типовые поломки на ВМках)
Это типа «место на диске закончилось»?)
DevOps котрый пишет микросервисы это 💪
Го следующий выпуск про rust
И Ruby plz
А чего не про pubg ?
@@qwagru Про pubg тоже нужно)))
Вау! Как по мне, Вы очень интересно, ярко и при этом очень содержательно рассказываете
Классное видео
Интересно, надо посмотреть Go.
Сергей, спасибо за видео) Ждем видео по RUST)
пошутил пошутил
Очень ждём!
Огромное спасибо за видео! Пишу на Го последние 3 года, очень нравится. Вопрос, часто противопоставляют с RUST, когда следует использовать RUST, а не GO?
Благодарю. А есть расклад по Хаскель?
Go был создан для разработки серверного ПО. Это прям легко вычисляется, когда смотришь на то - какие именно архитектуры поддерживает его компилятор.
так он поддерживает большинство современных архитектур(???) или я неправильно понял суть коммента
@@waltherwhite6052 Правильно, при чем большинство из них - серверные, хотя для ПК и смартфонов тоже все архитектуры поддерживаются.
он был выпущен в 2009 а не в 2012, из тех видео что я смотрел по go никто не правильно назвал год его выпуска хахаах
"Есть только один способ что-то написать" -- это как раз из The Zen Of Python. "There should be one-- and preferably only one --obvious way to do it." Очень понравилось неискаженное произношение всех терминов. )
Сереж, все по сути, люблю тебя. Как всегда. ❤
Видео мотивирует, пошёл учить Go.
Выучил?
@@maxpain177 почитал про проблемы с типизацией, которые возникают на больших проектах и решил, что нет перспектив :) Но язык несложный и все хвалят за быстрое написание сетевых сервисов.
Спасибо! По поводу говнокода в примерах ГО в интернете - прям в точку. Я все на них смотрел и думал - может я что то пропустил и так писать стало норм? Значит все таки нет. Фух... 😂
Надо ваш код посмотреть )
Есть языки которые помогают в создании говнокода.
И есть языки которые формируют вокруг себя коммюнити которые его создают.
После Python и Js этот язык просто на ура заходит. Даже не ожидал. Последний раз такой эффект наблюдался когда я после Python начал изучать JS.
Сергей, было бы интересно, услышать, что Вы думаете про Clojure
вангую, ничего хорошего)))
Он уже упоминал его, он не понимать ад со скобочками. И скала ему тоже не нрава, он патриот Java
Я, как обычно, ничего не понял, но было очень интересно. Спасибо.
Сергей, не хотите сделать обзор совершенно новорожденных языков программирования, и какие перспективы их ждут?
Ждём видео про Kotlin
Кстати, помимо горутин (а точнее их синхронизаций), сложность на начальном этапе для многих являются пойнтеры. И кстати, из за них часто проблемы со торможением сборщика мусора, если неправильно их использовать
Да, ппц в 2016 пытался учить го по книге как по сути первый язык - ничего не понял.
Сейчас взял после Python и двух лет преподавания информатики, уже другое дело)
Это потому что они не писали на си или си++. Лично у меня проблем с указателями вообще не возникло
@@vatakiller
Серьёзно что ли?
@@anti_middle_ages да, после Пайтона намного проще, попытка начать с него обучение программированию у меня полностью провалилась)
Сергей, вроде как вы уже снимали ж видос про Go 😊
Расскажи про rust. Какого твоё мнение про него ?
Мы тоже любим вас 🙂
❤
Ооо наконец-то про Golang, go для меня темная лошадка) непонятно где используют и как, понятно что основная ниша это backend, а в каких проектах используют кроме как микросервисов, многопотоков и стриминговых систем непонятно.
Везде где голенг везде эти 3 составляющие, никакого разнообразия как и с синтаксисом самого языка, дали цикл for расшибись но сделай все задачи именно через for 😂😂😂 но го мне нравится также как и пайтон, я бы сказал следующая ступень эволюции бекендера на питоне)
Дженерики завезли. Мап редьюс филтер и прочее доступно. Наслаждайся)
@@maksimbiriukov5483 вот эт хорошо
@@maksimbiriukov5483 дженерики фактически не завезли, у них куча ограничений, они РАНТАЙМ. В целом днежерики это провал го, тк его просили лет 5, а потом видимо будут столько же доделывать
Дякую! А про Rust буде? Бачив досить багато вакансій у Європі пов'язаних з цією мовою програмування
Очень круто рассказал, звук и картинка шикарны! Какой у вас микрофон?
Shure sm7 b
отлично!
Здравствуйте. Хочется услышать про DELPHI.
Когда видос по руби?
Спасибо большое за видео и привет из Казахстана. Вижу часто в вакансиях, что требуются блокчейн разработчики. Есть ли смысл учить, учитывая тот факт, что у них приличные зп
в блокчейне - душнятина, никакие бабки не покроют, быстро выгоришь
Даже если есть смысл учить, не осилишь. Для этого нужно разбираться о том как устроены блокчейны , смарт контракты , как высчитывается комиссия на уровне
Сергей, расскажи про Node js
Только заметила установку на заднем плане, обычно слушаю видео фоном. Для себя чисто или группа, например?)
Сергей здравствуйте, можно в каком то ролике рассказать о спецификах работы андроид разработчика и особенностях обучения на эту профессию?
у него вроде уже есть такое видео
мне кажется можно было бы чуток постебать гоху. например, на тему того, что многопоточность из коробки есть, но какая-то неуправляемая. Гоха не обеспечивает гарантию возврата управления из исполняемого кода, из-за чего неакуратно написанная может занимать процессорное время на то время, на которое захочет. Ну и вообще пройтись по ее особенностям, которые кажутся диковатыми человеку, писавшему код с применением ооп.
Ну вообще-то в Rust не надо следить за памятью, там система владения и компилятор сам добавляет удаление объектов и переменных в то место где они уже не могут быть доступны и это очень удобно, но надо привыкнуть)
Чтобы ускорить PHP или Python, достаточно написать модуль для них на C++
Немченский же сказал, что это долго и дорого
Yeee!!! Super!!! 🎉🎉🎉
а вы можете такие плохие примеры кода на go в каком-то из видосиков осветить? 🙂
Ну rust не нужен сборщик, там код не скомпилируется, если владение памятью выполнено некорректно, не считая unsafe. Он очень хорош и для микросервисов, и для многопоточных задач. Но, возможно, он сложнее по входу, тут хз
Кстати, на счёт rust, там не нужно самому управление памятью при том что нет сборщика мусора)
Похожими характеристиками обладает язык Julia. Очень интересный, но также довольно молодой
Дайте обзор про Руби ка, вроде набирает популярность, но я не понимаю почему.
С go есть такая засада, что если берете какой-нибудь пакет с гитхаба, скорее всего придется самому его допиливать. Вот, например, хотим в Azure Cloud использовать брокер сообщений(Service Bus), который использует протокол amqp 1.0, берем соответствующий пакет и ничего практически не работает. Да, в итоге где-то в течении года мы совместными усилиями с Microsoft пофиксили всё, но имейте в виду - надо очень осторожно подходить к планированию проектов на go, закладывать время на то, что многие доступные библиотеки на других языках будут отсутствовать для go или их качество будет очень слабым.
а можно про rust?
Ещё, кстати в Go очень интересно реализованы исключения. То есть по сути их там вообще нет. Для меня как PHP разработчика в первое время это было не понятно. Но исключения довольно сильно тормозят систему и разработку, поэтому ими пришлось так же пожертвовать в скорость языка и разработки. Так же довольно интересная работа с массивами, которые в Go называются срезы: к примеру нет встроенный функции удаления элемента из массива по его индексу, поэтому приходится делать костыль, если вдруг такая функция понадобилась, но это опять же жертва ради скорости
Уже есть встроенная функция, по удалению элемента с слайса)
Очень часто использую Go для мелких программ, где надо парсить данные. Четкая типизация json файлов + мои мелкие библиотеки для ускорения работы, но небольшого уменьшения производительности очень сильно помогают работать и делать это без ошибок
Например какие программы? Думаю потом ради интереса выучить его, глянуть что можно на нем написать
@@awenn2015 консольные приложения с веб-запросами, парсингом данных, генерации stl фигур для 3д обработки и т.д.
@@user-ft5nc4wm9f а понял, прикольная тема
Пишите софт на заказ ?
Не пытаюсь душить, НО просто интересно:
1. Когда это именно "размер" языка, влиял на тип проекта?
2. Что плохого в duck-typing и в чем такой большой минус отсутствия перегрузки функций?
Спасибо за айтиликбез. Мирного неба вам над головой
А мы до сих пор используем GWT и всё хорошо 🎉
присмотрелся в свои годы к сейлсфорсу пару лет назад..посмотрел байки Сергея Немчинского, чз пару месяцев зашел в Сейлсфорс...
столкнулся пару месяцев назад к гоу, появилась опортьюнити на нем писать...посмотрел ТОЛЬКО ЧТО Сергея Немчинского....повангуем что дальше будет?)))
Когда про RUST заговоришь?)
В Rust не надо ничего убирать / прибирать. Там умный компилятор просто не даст скомпилировать программу, если в коде не соблюдены все правила владения. Это можно обойти для некоторых случаев и тогда уже придётся самому чистить память умными указателями. Но в целом, если не создавать кривую архитектуру, то можно обойтись одними принципами владения.
rust маленкий
Если не создавать кривую архитектуру, то и на С++ можно обойтись принципами владения. Хороший язык обязан считать, что программист - идиот и не знает что творит, и не давать ему делать непотребства.
@@user-kj9zl3hl2h если не создавать кривую архитектуру, то ты всё же можешь выстрелить себе в ногу. Это с++ и с ним ничего не поделать. А в Rust - это лишь циклическая зависимость. Больше ситуаций для утечки памяти в Rust нет. А такую ситуацию можно создать только в случае, если у тебя руки из задницы растут. Прям вот точно из неё.
rust не нужен, совсем, есть ansi c, и go
@@fudj8264 go вообще не нужен. Только для внутренних разработок Гугла.
Если сравнить Go с Ruby, то какой на Ваш взгляд является более востребованным/перспективным? И у какого из них более низкий порог входа? Понятно, что языки разные, один интерпретируемый, другой компилируемый, различная философия и т.д. но, как мне кажется, область применения у них схожа(быстрая разработка небольших сервисов). Хотелось бы понять, какой из этих языков более перспективный, в плане востребованности, чтобы не тратить время на изучение заведомо тупиковой/умирающей технологии.
Нет смысла учить Ruby с точки зрения перспектив он жив до сих пор из-за рельс и только то. Хотите востребованности - учите Java и/или C# эти языки с нами еще на долгие годы. Go еще молод да и далек от универсальности и очень хорош только в своей нише.
А курс salesforce-администратор у вас есть?
Возможно ли сообразитъ Калъкулятор счёта простых бесконечных последователъностей?!.
Серёга.
в го есть ооп, отличное от джавы, но есть. И полиморфизм и инкапсуляция там работают. Так же в го есть нормальные функции, чего нету в джаве, так что я бы сказал что го в какой то мере более прокаченее джавы. А с выходом в релиз дженериков, то на Го даже можно теперь и писать. Спасибо, за видео )
Это шутка такая ?
@@VladVlad-qm3bl нет традиционного наследования, но это не значит, что вообще нет ооп
встраивание считается перспективной альтернативой наследованию, потому что отсекает часть возможностей для написания переусложненного кода
впрочем могу понять, что с непривычки сложно им пользоваться
@@VladVlad-qm3bl нормально там всё с ООП, если понимать что это вообще такое.
Вот что-то консольное на СИ проблем писать нету, читать из файла, писать в память какой-нибудь eeprom , а если захочется крОсивой графики.... И сделать окно с отображением директорий и файлов, возможность добавить по нажатию кнопки ярлык файла или каталога. Это больно без насирания туда КуТишками и Бустами.
А если получится, то вы будете рады что программа будет потреблять очень мало системных ресурсов.
++ для поддержания канала
Связка пайтон + go это идеал?
Google закрыли GWT. Но он же был убогим. Ты и сам это упоминал в духе "Упоси господь". А вообще от заказчиков и сейчас поступают требования в виде "Хотим начать проект, нам нужен один разработчик, будем делать на Java+GWT"
Оо помню этот GWT 😆
Друзья, чтобы экономить время, есть удобная функция слушать на скорости 2.0, нужно просто справа в углу нажать на настройки и выбрать скорость... 🔊 если слушать в наушниках, то скорость вообще не проблема... 🎧 Gg
По поводу ноды и гоу , в плане "если вы переходите с языка со строгой типизацией то лучше выбрать go", ну тут спорно , все проекты современные на ноде уже с typescript пишутся , типизация очень хорошая. Но я так понимаю go побыстрее ноды
Может Вам президентом мира стать? Такой стабильности можно позавидовать, Вы всё ещё Сергей Немчинский
Да таких языков программирования просто огромная куча, и оплата разная за них
Ты лучше это, иди первый (к)анал посмотри
Скала, го и нода, больше не знаю, подскажешь?
@@loenishe3647 haskell, rust, ocaml, elixir и до бесконечности
А что же с жавкой?
Странно почему автор не упомянул что эфириум, докер, кубер, прометеус написаны на go
Когда это NodeJs стал многопоточным?
Да ну всмысле в rust следить за памятью? Там же все сам компилятор чистит, он безопасен и без GC
Го не имплементирует многопоточность, а поддерживает конкурентность и параллелизм, используя многоядерность благодаря умному шедулеру, который каждый раз вкомпиливается в бинарь. Стек горутины всего лишь 2кб. Шедулер довольно умный. Одна машина может сграбить часть очереди из другой машины, чего не делает шедулер ОС.
NodeJs вообще штука для фронтеров, которым лень учить другой язык но которые хотят стать fullStack.
Правильно, настоящие бекендеры используют Deno :v
2кб? а вы вообще в курсе что в го, в отличие от С стек может расти?
Я немного неправильно высказался. Инициализируется 2кб. И да, он растет везде! В си просто 1мб даётся сразу в зависимости от ос и архитектуры
Здравствуйте Сергей, как думайте rust - это будущее gamedev'a.
Это просто будущее всего хорошего в программной инженерии.
Го следующий язык F#🤣( было бы неплохо).
Раз он такой маленький и компилируемый, то может и эмбедерам на него проще перейти будет? И может даже в embedded применять как гугл завещал? Что думаете, С-шникам зайдёт?
Года 3 назад была статья от Дискорда: они какой-то их сервис перенесли с го на раст, потому что сборщик мусора давал нехилую нагрузку на скорость работы.
Го ассемблер VS C
Можно вместо go взять crystal. У него синтаксис из руби взят, так что кодить приятнее
Честно говоря, там не про многопоточность, а про асинхронность. И да, на нем удобно писать простые асинхронные штуки. И у него интерфейсы значат вообще не то, что в джаве
Почему-то мало кто что рассказывает про Julia. На нее легко перейти питонистам и R'щикам, при этом там тоже есть многопоточность и есть компилляция
И можно писать почти как формулы! С латехом.
Войти в IT, войдя в Julia, хммм... а что, я согласен))) 😄
@@pavelgushchin2223 , сказал бы так: войдя в Julia, в IT не войдёшь, но приятно будет очень.
@@pavelgushchin2223 😅😅😅
Ну сейчас никто не пишет на чистом js. Нормальные разработки ведутся с применением typescript, хотя это не решает все проблемы, но у опытных разрабов решает достаточной проблем
Интересно, вы как то очень ловко обошли сравнение производительности Go и Java. Хотя момент очень даже интересующий. У меня в наличии несколько сервисов писанных на delphi. Коллекторы для сбора CDR телеком оборудования, декодеры в рамках системы роуминга, smpp-агрегатор... ну и прочее, что по понятным причинам приходится переписывать. Ну со старья на что переходить... не на старье же. Попробовал go, нарисовал asn1 коллектор. Простота языка, многопоточности и скорость обработки вроде пришлись по душе. Но в конторе явисты. Утверждают, что на Яве будет все так-же шустро летать, потому что её код тоже компилируется и если что никому не придётся разбираться с go. Так ли это? Интересует именно низкоуровневая, многопоточная работа с бинарными данными. Есть ли плюсу у go по сравнению с Java кроме необходимости тащить Ява машину.
Ну так напишите для пробы. Может и подойти. Странно, что вы не доверяете своим разработчикам, но доверяете мужику с интернета.
Вроде как ещё в микроконтроллерах типо Ардуино можно писать на Го
Порог вход для джунов - уровень "невозможно". Работодателям проще взять готового бэкэндера с другого языка, и через месяц получить полноценного работника, нежели рисковать и вкладываться в джуна.
По поводу говнокода - такое ощущение, что гошное сообщество возвело его в канон. Помимо смешения парадигм в одну кучу еще особо доставляет любовь к однобуквенным переменным.
В рамках небольших функций однобуквенные переменные намного красивее смотрятся, и только улучшают качество и читаемость кода. Разве нет ?
@@Aaaa-jn4bm Нет. То есть когда ты постоянно сидишь в одном куске кода, и связь буква-сущность записывается в долговременную память, то да, читать код становится легче.
А вот когда надо быстро разобраться в большом объеме чужого кода, то эти однобуквенные переменные разрывают кошелек Миллера на тысячу маленьких кошелечков. И процесс раскурки превращается в ад.
Длина имени переменной должна быть прямо пропорциональна размеру области её видимости. Честно сказать, что джавовые переменные в 60 буков читать вообще сложно. А 5 строчек с однобуквенными переменными кто угодно осилит
Не девопсом единым. На Go сейчас переписывается куча старых утилей написанных на С и С++.
Память не течет, юникод из коробки, dependency hell отсутствует как класс.
в go забавная штука ещё есть, если функция будет возвращать пустой интерфейс и всё что будет реализовывать этот интерфейс будет возвращено xD aka python функция может вернуть и str и int, map и тд
а что в этом забавного? особенно когда вызывающему эту функцию коду нужен конкретный тип? любите делать даункастинг в рантайме?
агонь видос !!