Envirnoment variable related to golang

Hello All, I need a very basic help, I have research golang installation and compilation there is lot of environment variables is associated with golang but none of them is documented in the official golang docs.

like:-
GOROOT
GOPATH
GOOS etc…

what is actually means this variable’s and also how much variable is available.