The go run command compiles your code and runs it in one step. It's convenient for development because you don't have to manage executable files.
Behind the scenes, go run creates a temporary executable, runs it, and then cleans up. This is slower than running a pre-compiled binary, but the difference only matters for programs that start frequently. For learning, go run is perfect.