This part of the function signature is exactly what the function returns.
So this one will return a pointer to a
PutRecordOutput plus an
error (which by convention is returned as
nil if no error occurred).
If you look at the source code for the function,
return statements will have to be consistent with that, so that can also help you understand how the return values are built.
But, please note that in some cases you could have named output arguments, like:
(output *PutRecordOutput, err error)
In that case,
err will be valid local variables inside the function, and you might see a plain return statement like this:
Just keep in mind that one would implicitly be like doing:
return output, err
solved Determining what is returned from a go function