go starts a goroutine, which is managed by golang run-time.
It can either run on the current OS thread, or it can run on a different OS thread automatically.
You can refer to basic golang documents for this, for example, one item in Google search keyword goroutine is golang concurrency.