No: result is the result, which is a bunch of 2-element arrays concatenated.
As the documentation says: "result[2*n:2*n+2] identifies the indexes of the nth submatch" (i.e. the start index and the end index)
In principle, accessing the i'th result is like this:
start, end := matches[i*2:i*2+2]
However Go doesn't actually allow a slice to be unpacked that way (only certain multi-valued things like function results and channel receives)