When I run go build main.go, the compiler will output a binary for the current OS in that same folder. In this case I would get a main.exe or a main for OSX or Linux.
If I specify an output it will build omit the file extension on Windows machines.
go build -o ./bin/myproject main.go
Because of the lack of a file extension, you're unable to run the outputted binary on Windows without renaming it.
How do I build a go project, specifying the output folder and getting a binary named appropriately for the OS on the other side?