Cómo agregar etiquetas de compilación de Golang

Como Agregar Etiquetas De Compilacion De Golang



Las etiquetas de compilación en Go son una característica poderosa que nos permite incluir o excluir condicionalmente un código particular durante el proceso de compilación según restricciones de compilación específicas. Esta flexibilidad nos permite crear compilaciones específicas de plataforma para diferentes sistemas operativos, arquitecturas u otros requisitos específicos del entorno. Las etiquetas de compilación son comentarios especiales que se agregan al principio de un archivo fuente, justo encima de la declaración del paquete. Estas etiquetas proporcionan instrucciones al sistema de compilación Go sobre cómo manejar el código en ese archivo durante el proceso de compilación.

Ejemplo 1: agregar la etiqueta de compilación Golang para el sistema Linux

Para apuntar al sistema operativo Linux, podemos agregar la etiqueta de compilación “// +build linux”.

// ir a construir Linux

// + construir Linux

paquete principal

importar 'fmt'

función principal () {

fmt . Imprimir ( 'Hola ejemplo de sistema Linux' )

}

Aquí, establecemos las restricciones de compilación en Go que especifican que el código solo debe compilarse si el sistema de destino es Linux. Después de eso, definimos el paquete e importamos la declaración requerida para el código. Luego, ingresamos al método main() donde imprimimos el mensaje usando la llamada 'Println' del paquete 'fmt'.







Así, el mensaje se muestra en la consola con éxito para el sistema operativo Linux:





Ejemplo 2: agregar la etiqueta de compilación Golang para el sistema Windows

Cuando solo queremos que el código se ejecute en la plataforma Windows, usamos la etiqueta de compilación '// +build windows' al principio del archivo. A partir de eso, podemos asegurarnos de que el código solo se incorpore a la compilación cuando Windows sea la plataforma prevista.





// +construir ventanas

paquete principal

importar 'fmt'

función principal () {

fmt . Imprimir ( '¡Hola, ejemplo de Windows!' )

}

Aquí, utilizamos la restricción de compilación “// +build windows” para garantizar que el código solo se compila y ejecuta cuando se compila para la plataforma Windows. Después de eso, incluimos el paquete necesario para el código con el paquete y el modificador de importación. Luego viene la función main() que emplea la función println() para imprimir la declaración al crear las etiquetas de la ventana en Golang.

Cuando creamos y ejecutamos este programa en un sistema Windows, muestra el mensaje '¡Hola, ejemplo de Windows!' mensaje a la consola. Tenga en cuenta que el programa no se compilará ni ejecutará en otros sistemas operativos debido a la restricción de compilación.



Ejemplo 3: agregar la etiqueta de compilación de Golang para el sistema que no es Windows

Por el contrario, si queremos excluir el código al compilar para Windows, puede utilizar el botón '!' signo de exclamación con la etiqueta de compilación.

// +construir !ventanas

paquete principal

importar 'fmt'

función principal () {

fmt . Imprimir ( '¡Hola, excepto Windows!' )

}

Aquí, creamos una directiva de restricción que indica que el código debe compilarse y ejecutarse en plataformas distintas a Windows. El signo de exclamación (!) antes de Windows indica que este código debe incluirse para todas las plataformas excepto Windows. Luego, procedemos con el mismo programa como en la función anterior donde primero agregamos los paquetes y llamamos a la función main() para ejecutar el mensaje que se pasa dentro de la función println().

Así, la salida genera el mensaje en las consolas del sistema operativo. Tenga en cuenta que no se ejecutará en el sistema operativo Windows debido a la restricción de compilación:

Ejemplo 4: agregar la etiqueta de compilación de Golang con la lógica OR

Para incluir el código cuando se dirige a Windows O Linux, podemos usar la etiqueta de compilación “// +build windows Linux”.

// + construir windows linux

paquete principal

importar 'fmt'

función principal () {

fmt . Imprimir ( 'Hola, usuarios de Windows o Linux' )

}

Aquí, aplicamos la restricción de compilación con el OR lógico que pretende compilarse para los sistemas operativos Windows y Linux. La línea “// +build windows Linux” especifica que este archivo debe incluirse en la compilación cuando la plataforma de destino es Windows o Linux. A continuación, importamos el paquete 'fmt' de la biblioteca estándar de Go que proporciona la funcionalidad básica de entrada y salida. En la función principal, imprimimos la declaración de cadena 'Hola, usuarios de Windows o Linux' usando la función Println() del paquete 'fmt'.

Por lo tanto, el resultado se recupera a continuación. Se genera el mismo mensaje tanto si usamos el sistema operativo Windows como Linux:

Ejemplo 5: agregar la etiqueta de compilación de Golang con la lógica AND

Podemos especificar múltiples etiquetas de compilación para crear condiciones más complejas. El comando “// +build windows,linux” se puede utilizar para generar un código tanto para Linux como para Windows.

// + construir ventanas, 386

paquete principal

importar 'fmt'

función principal () {

fmt . Imprimir ( 'Esto es Windows de 32 bits' )

}

Aquí, la restricción de compilación que se define es “// +build windows,386”, que especifica que el archivo Go debe incluirse en la compilación cuando la plataforma de destino es Windows de 32 bits. Tenga en cuenta que utilizamos una coma “,” entre Windows y 386 que actúa como operador lógico AND. Esto significa que se deben cumplir ambas condiciones para que el código se incluya en la compilación.

Luego, de manera similar al ejemplo anterior, importamos el paquete 'fmt' de la biblioteca estándar de Go para usar la función Println() para la salida. Tenemos la función main() del programa donde la declaración se pasa como argumento a la función println().

Cuando compilamos y ejecutamos este programa en un sistema Windows de 32 bits, muestra el mensaje especificado como resultado. Sin embargo, si intentamos compilarlo y ejecutarlo en un sistema operativo o arquitectura diferente, no se incluirá en la compilación:

Ejemplo 6: agregar la etiqueta de compilación de Golang para una función específica

Además, las etiquetas de compilación también se pueden aplicar a funciones específicas dentro de un archivo. Debido a las restricciones de compilación, ahora podemos incluir o eliminar funciones específicas de forma condicional.

paquete principal

importar 'fmt'

función principal () {

fmt . Imprimir ( '¡Hola, disfruta!' )

imprimirWindowsMensaje ()

}

// +construir ventanas

función imprimirWindowsMensaje () {

fmt . Imprimir ( 'Hola desde el sistema operativo Windows' )

}

Aquí, pasamos al método main() que utiliza el método Println() proporcionado por el paquete 'fmt' para imprimir el mensaje al principio. Luego, implementamos la función printWindowsMessage() debajo de la función main() y especificamos la restricción de compilación “// +build windows”. Esto indica que la función solo se incluye en la compilación cuando la plataforma de destino es Windows.

Finalmente, configuramos la función printWindowsMessage() para imprimir el mensaje 'Hola desde el sistema operativo Windows' especificado usando la función Println().

De este modo, se recupera el resultado que muestra tanto el mensaje general como el mensaje específico de la plataforma. Tenga en cuenta que si lo compilamos y lo ejecutamos en un sistema operativo diferente, la función printWindowsMessage() no se incluirá en la compilación y solo se mostrará el mensaje general:

Conclusión

Agregar etiquetas de compilación en Go brinda la posibilidad de personalizar la inclusión del código durante el proceso de compilación. Al aprovechar las etiquetas de compilación, podemos crear compilaciones específicas de la plataforma, optimizar el código para diferentes arquitecturas e incluso incluir condicionalmente funciones o características específicas.