2014-10-23 13 views
6

T'un bir tür tanımlanmış olduğu []T'da bir yöntem tanımlamak istiyorum.
Bunu yapmak için yeni bir tür tanımlamam gerekiyor, ancak bu yeni türdeki dilimler için tüm yerleşik işlevleri kullanmamı engelliyor (len gibi).Geçersiz alıcı tipi [] T ([] T, adsız bir tür) geçici çözüm mü?

Bunu, yöntemlerden ziyade sıradan işlevler yapmak için yapmanın yolu nedir? (Kinda append() bir yöntem olabilir, ama değil nasıl ister?)

cevap

10

Bir dilim türü tanımlayabilirsiniz:

type MySliceType []SomeType 
  • Hala MySliceType değerlerine append ve dilimleme işlemlerini kullanabilirsiniz.
  • MySliceType'da yöntemleri tanımlayabilirsiniz.

Ancak, monkeypatch []SomeType yöntemlerini kullanamazsınız.