Как стать автором
Обновить

В языке Go наконец-то появятся дженерики. Proposal принят

Время на прочтение1 мин
Количество просмотров11K

Как сообщает телеграм-канал Cross Join, предложение по добавлению дженериков в Go наконец-то приняли.


Ссылка на сам документ здесь: type parameters.


type Stringer interface {
    String() string
}

type Plusser interface {
    Plus(string) string
}

func ConcatTo[S Stringer, P Plusser](s []S, p []P) []string {
    r := make([]string, len(s))
    for i, v := range s {
        r[i] = p[i].Plus(v.String())
    }
    return r
}

Принятие proposal означает, что скорее всего в 1.18beta можно будет эту функциональность уже попробовать.


Цитата из официального блога:


If the proposal is accepted, our goal will be to have a complete, though perhaps not fully optimized, implementation for people to try by the end of the year, perhaps as part of the Go 1.18 betas.

Т.е. разработчики языка постараются сделать какой-то рабочий вариант до конца года. Он возможно, будет не слишком оптимизированный, но можно будет уже поиграться.


Примеры использования


Поздравляем всех гоферов с этой отличной новостью!

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 18: ↑14 и ↓4+18
Комментарии58

Другие новости

Истории

Работа

Go разработчик
77 вакансий

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
22 апреля
VK Видео Meetup 2025
МоскваОнлайн
23 апреля
Meetup DevOps 43Tech
Санкт-ПетербургОнлайн
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область