无效的接收器类型[] T([] T是未命名的类型)解决方法?

Fil*_*und 13 go

我想定义一个方法[]T,在哪里T是我定义的类型.
看起来我必须定义一个新类型来执行此操作,但这阻止我在此新类型(例如len)上使用切片的所有内置函数.

这样做只是为了制作普通的函数而不是方法吗?(有点像怎么append()可能是一种方法,但不是?)

thw*_*hwd 14

您可以定义切片类型:

type MySliceType []SomeType
Run Code Online (Sandbox Code Playgroud)
  • 您仍然可以对值使用追加和切片操作MySliceType.
  • 您可以定义方法MySliceType.

但是,你不能使用monkeypatch []SomeType的方法.