2014-10-23 17 views
6

Ich möchte eine Methode auf []T definieren, wobei T ein Typ I definiert ist.
Es sieht so aus, als müsste ich einen neuen Typ definieren, aber das hindert mich daran, alle integrierten Funktionen für Slices auf diesem neuen Typ zu verwenden (wie len).Ungültiger Empfängertyp [] T ([] T ist ein unbenannter Typ) Umgehung?

Ist der Weg, dies zu tun, um nur einfache Funktionen statt Methoden zu machen? (Kinda mag, wie append() ein Verfahren sein könnte, ist aber nicht?)

Antwort

10

Sie können einen Slice-Typ definieren:

type MySliceType []SomeType 
  • Sie noch append und Schneiden Operationen auf Werte von MySliceType verwenden können.
  • Sie können Methoden auf MySliceType definieren.

Sie können jedoch nicht monkeyypatch []SomeType Methoden.

Verwandte Themen