помню приняли ее или нет..
Возможность добавлять метод для типа из другого пакета. Внутри другого пакета.
Есть у кого то инфа? Пойду гуглить. Но мало ли...
Как extention в kotlin?
не шарю в котлин. Но то что мы не можем добавить метод к типу из другого пакета. Это нереально так бесит.
Такое скорее всего завернут
А зачем это может понадобиться?
https://github.com/golang/go/issues/28066 Ну там четко сказали типо будет путаница. Но почему не сделать упрощенный вариант. Хз, я так и не понял что нового в Go2 будет. Кажется ничего)
Например у тебя есть пользовательский тип определенный в пакете. Конструктор по факту. Возможно что то вроде. type FunctionalAPI struct{} У него есть методы. 1-2-3-4.... Но что бы как то абстрагировать его в большом приложение со сложной логикой. Тебе нужна функция. func Block (self FunctionalAPI){ } Вопрос в том, как расширить API или сделать пользовательское. Сейчас это можно обойти через встраиванием и интерфейсы. Но в этом начинаешь быстро путаться. А вот есть у тебя фича добавить метод. Максимально простой пример.
Ну не знаю, я согласен тут с разрабами. Методы для типов из других пакетов сильно ломают понятие контракта. Тебе пакет предоставляет типы и методы для него. Если нужно что-то большее - пиши обёртку
Надо фича - добавляешь её в пакет, в чем проблема то? А если пакет нельзя расширить( он из внешней библиотеки), то пиши обертку.
Ну да, по этому язык Go остается нишевым. Потому что GUI / UI / linq и.т.д. делать больно. Прям очень больно. На си хотя бы макросы есть.
Аналог linq вроде как обещали сделать потом
Ну спасибо в итоге у меня не 5 пакетов а 25 в проекте. Ну вот так.
Да-да, как вопрос? Я не знаю сейчас механизма. Дженерики пусть доделают хотя бы. Буду рад.
Обсуждают сегодня