Programación en Go. Mario Macías Lloret
Чтение книги онлайн.
Читать онлайн книгу Programación en Go - Mario Macías Lloret страница 9
const Pi = 3.1416
o
const Pi float64 = 3.1416
Cuando se definen múltiples constantes, se pueden agrupar semánticamente bajo la misma directiva const. Por ejemplo:
2.6 BASES DE NUMERACIÓN
Además de la comúnmente usada base decimal (en la que cada dígito puede tomar diez valores distintos, del 0 al 9), Go permite usar otros tipos de bases de numeración según el prefijo que añadamos a cada número (Figura 2.1).
Figura 2.1 Bases de numeración en Go.
Cuando queramos agrupar bloques de dígitos, podemos insertar un guión bajo “_” entre estos. Go no lo tendrá en cuenta a la hora de establecer el valor.
Ejemplos:
productoInteriorBruto := 1_419_000_000_000 bitsAgrupados := 0b_1000_1001_0110
2.7 OPERADORES NUMÉRICOS
Go permite hacer las siguientes operaciones con tipos de datos númericos, por orden de precedencia:
1. Agrupaciones de operaciones, delimitadas por paréntesis.
2. Multiplicaciones, divisiones (operadores * y /), así como el resto de la división entera (o módulo, operador %).
3. Sumas y restas (operadores + y -).
El orden de precedencia hace referencia a qué operaciones se evalúan primero, cuando una expresión compleja engloba múltiples operaciones. Primero, se evalúan las operaciones de mayor precedencia. En caso de múltiples operaciones con la misma precedencia, estas se evalúan según su posición en la expresión, de izquierda a derecha.
Por ejemplo, dada la siguiente expresión:
a := 8 + 3 * (1 + 2) % 5
1. Primero evaluaría la expresión entre paréntesis, ya que es la de mayor precedencia: a := 8 + 3 * 3 % 5
2. Luego evaluaría la multiplicación y el módulo. Al ser de la misma precedencia, primero evaluaría la multiplicación, ya que está más a la izquierda: a := 8 + 9 % 5
3. Y continuaría por el resto de la división entera: a := 8 + 9
4. Siendo la suma la operación de menos precedencia, sería la última en evaluarse: a := 12
Además de los anteriores operadores matemáticos, Go provee los operadores de incremento (++) y decremento (--), que van detrás de una variable que se quiere incrementar o decrementar, respectivamente:
a := 10 b := 20 a++ b--
Después de ejecutar el anterior programa, la variable a contendría el valor 11 y la variable b contendría el valor 19.
A diferencia de otros lenguajes de programación con los que el lector pueda estar familiarizado, los operadores de incremento y decremento no pueden ir dentro de otras expresiones.
2.8 OPERADORES NUMÉRICOS DE COMPARACIÓN
Go permite comparar expresiones numéricas (Figura 2.2). El resultado de una comparación será un bool (true o false). Cuando se mezclan con las operaciones numéricas del apartado anterior, las operaciones de comparación son las de menor precedencia.
Figura 2.2 Operadores de comparación.
2.9 OPERADORES APLICABLES AL TIPO string
El operador + aplicado entre string, retorna un nuevo string con las cadenas concatenadas:
a := "el cocherito" b := "leré" concat := a + “ " + b
En el ejemplo anterior, la variable concat contendría la cadena "el cocherito leré".
Los operadores de comparación también pueden usarse para comparar cadenas de texto.
INFORMACIÓN: Go hará distinción entre mayúsculas y minúsculas, por lo que "HOLA" == "hola" retornará false y "ZZZ" < "aaa" también retornará false, ya que el valor numérico de la Z mayúscula es menor al de la a minúscula.
2.10 OPERADORES LÓGICOS CON bool
Cualquier variable o expresión que retorne un bool puede combinarse con otros booleanos mediante los siguientes operadores lógicos (Figura 2.3), resultando en otros valores booleanos. Cuando se mezclan con las operaciones de comparación del apartado anterior, las operaciones de lógica son las de menor precedencia.
Figura 2.3 Operadores lógicos.
2.11 OPERADORES LÓGICOS A NIVEL DE BIT
Las variables numéricas también pueden verse como agrupaciones de dígitos binarios (bits) con los que podemos realizar las siguientes operaciones, que se aplican tras comparar los bits de igual posición en dos operandos (Figura 2.4).
Figura 2.4 Operadores lógicos a nivel de bit.
2.12 SALIDA ESTÁNDAR DE DATOS
El paquete fmt, del cual pudo ver una pequeña muestra en el capítulo anterior, permite mostrar datos en su terminal de línea de comandos (también llamado salida estándar) mediante las siguientes funciones:
fmt.Print fmt.Println fmt.Printf
fmt.Print y fmt.Println enviarán a la