One of the funniest experiences I had was building an ARM go binary on an x86-64 linux box using a cross compiler (nothing new there).  Then, by accident I tried to run the ARM binary on my x86-64 box, instead of on the ARM box.  It ran like a normal executable, which confused me until I realized I had installed QEMU-arm, which installed a linux binary format handler for ARM binaries, and it emulated ARM to run my binary.  Of course, copied over to the Raspi, it ran fine there too.