Al principio, me gustó la respuesta proporcionada por @ tux21b. Pero hay un problema sutil con este código: la lógica condicional para seleccionar el código específico de la plataforma se integrará en el binario ejecutable del objetivo. Significa que, la lógica estará presente en "windows", "linux", "darwin" o cualquiera que sea la plataforma de destino. En este ejemplo particular, el código es solo una línea por plataforma. Pero imagínese, ¿qué sucede cuando el código sería más de 100 líneas por plataforma? El ejecutable objetivo crecerá dramáticamente. Entonces, en lugar de incluir código para cada plataforma posible, es mejor incluir solo el correcto en el momento de la compilación. En realidad, Go admite la función llamada etiquetas de compilación, que ofrece un control más preciso sobre el código específico de la plataforma.
Por ejemplo, si un archivo contiene este comentario (antes de la declaración del paquete):
// +build linux darwin
Va la estructura compilará sólo cuando se construye para Linux o Mac OS X. Esto significa que el ejecutable objetivo no contiene código para plataformas alienígenas.
open-golang paquete proporciona la funcionalidad cuestionada, pero con etiquetas de creación en mente!
¿Alguien ha descubierto cómo hacer esto en Mac, Android, etc.? – RoboTamer
Ver [aquí] (https://code.google.com/p/go-tour/source/browse/gotour/local.go#197) –