不幸的是,您的错误有些令人误解。问题在于它是一个实例方法,您在调用它时就好像它是程序包作用域中的一个方法一样。
您需要这样的东西;
func main() { var in []byte jp := JSONParser{} actual, err2 := jp.Parse(in)}我猜该错误的措辞是这样的,因为接收器(函数名称左侧位置中的括号中的内容)的处理方式与在后台传递给函数的任何其他参数一样。
如果您希望像这样调用您的方法,那么定义将是正确的,
func Parse(toParse []byte) ([]Schema,int)并且如果该定义位于被调用的包中,
JSONParser那么这将是正确的语法。如果在与您的示例相同的包中定义了它,则只需将其命名为
Parse(in)



