Как реализовать шаблон c ++ & lt; T & gt; на Голанге

Как перевести этот код cpp в golang?

template<T> class CppTemp {
T  a;
T* pa;
T foo(T &t);
};

template<T> T foo2(const T &t)

0

Решение

Go не поддерживает шаблоны или дженерики. Есть три вещи, которые вы можете сделать:

  • используйте непустые интерфейсы, где это применимо
  • генерировать код с go generate
  • использование interface{}:

    type GoTemp struct {
    a interface{}
    }
    
    func (gt *GoTemp) foo(v interface{}) {
    // ...
    }
    
    func foo2(v interface{}) {
    // ...
    }
    
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]