The variable inner
is declared using a short variable declaration. The variable inner
has type func(in []reflect.Value) []reflect.Value
. The value is the function literal in the code.
The type func(in []reflect.Value) []reflect.Value
represents a generic function implemented by reflection. The function takes a possibly empty slice of arguments and returns a possibly empty slice of results.
The reflect.Value
for a function is not directly callable. The Call
method is used to call the function in the value.
The .(func(a, b int) int)
is a type assertion.