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

    Как сообщает телеграм-канал 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.

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


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

    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое