En este módulo, aprenderemos sobre los operadores en Go, que son símbolos especiales que se utilizan para realizar operaciones sobre variables y valores. Los operadores en Go se pueden clasificar en varias categorías:
- Operadores Aritméticos
- Operadores de Asignación
- Operadores de Comparación
- Operadores Lógicos
- Operadores de Bits
- Operadores Misceláneos
- Operadores Aritméticos
Los operadores aritméticos se utilizan para realizar operaciones matemáticas comunes como suma, resta, multiplicación, etc.
Operador | Descripción | Ejemplo |
---|---|---|
+ |
Suma | a + b |
- |
Resta | a - b |
* |
Multiplicación | a * b |
/ |
División | a / b |
% |
Módulo | a % b |
Ejemplo Práctico
package main import "fmt" func main() { a := 10 b := 3 fmt.Println("Suma:", a + b) // 13 fmt.Println("Resta:", a - b) // 7 fmt.Println("Multiplicación:", a * b) // 30 fmt.Println("División:", a / b) // 3 fmt.Println("Módulo:", a % b) // 1 }
- Operadores de Asignación
Los operadores de asignación se utilizan para asignar valores a las variables.
Operador | Descripción | Ejemplo |
---|---|---|
= |
Asignación simple | a = 10 |
+= |
Suma y asignación | a += 5 (equivale a a = a + 5 ) |
-= |
Resta y asignación | a -= 5 (equivale a a = a - 5 ) |
*= |
Multiplicación y asignación | a *= 5 (equivale a a = a * 5 ) |
/= |
División y asignación | a /= 5 (equivale a a = a / 5 ) |
%= |
Módulo y asignación | a %= 5 (equivale a a = a % 5 ) |
Ejemplo Práctico
package main import "fmt" func main() { a := 10 a += 5 fmt.Println("a += 5:", a) // 15 a -= 3 fmt.Println("a -= 3:", a) // 12 a *= 2 fmt.Println("a *= 2:", a) // 24 a /= 4 fmt.Println("a /= 4:", a) // 6 a %= 5 fmt.Println("a %= 5:", a) // 1 }
- Operadores de Comparación
Los operadores de comparación se utilizan para comparar dos valores. Devuelven un valor booleano (true
o false
).
Operador | Descripción | Ejemplo |
---|---|---|
== |
Igual a | a == b |
!= |
No igual a | a != b |
> |
Mayor que | a > b |
< |
Menor que | a < b |
>= |
Mayor o igual que | a >= b |
<= |
Menor o igual que | a <= b |
Ejemplo Práctico
package main import "fmt" func main() { a := 10 b := 20 fmt.Println("a == b:", a == b) // false fmt.Println("a != b:", a != b) // true fmt.Println("a > b:", a > b) // false fmt.Println("a < b:", a < b) // true fmt.Println("a >= b:", a >= b) // false fmt.Println("a <= b:", a <= b) // true }
- Operadores Lógicos
Los operadores lógicos se utilizan para combinar dos o más condiciones lógicas.
Operador | Descripción | Ejemplo |
---|---|---|
&& |
AND lógico | a && b |
` | ` | |
! |
NOT lógico | !a |
Ejemplo Práctico
package main import "fmt" func main() { a := true b := false fmt.Println("a && b:", a && b) // false fmt.Println("a || b:", a || b) // true fmt.Println("!a:", !a) // false }
- Operadores de Bits
Los operadores de bits se utilizan para realizar operaciones a nivel de bits.
Operador | Descripción | Ejemplo |
---|---|---|
& |
AND a nivel de bits | a & b |
` | ` | OR a nivel de bits |
^ |
XOR a nivel de bits | a ^ b |
<< |
Desplazamiento a la izquierda | a << 1 |
>> |
Desplazamiento a la derecha | a >> 1 |
Ejemplo Práctico
package main import "fmt" func main() { a := 10 // 1010 en binario b := 3 // 0011 en binario fmt.Println("a & b:", a & b) // 2 (0010 en binario) fmt.Println("a | b:", a | b) // 11 (1011 en binario) fmt.Println("a ^ b:", a ^ b) // 9 (1001 en binario) fmt.Println("a << 1:", a << 1) // 20 (10100 en binario) fmt.Println("a >> 1:", a >> 1) // 5 (0101 en binario) }
- Operadores Misceláneos
Go no tiene operadores misceláneos como el operador ternario (?:
) que se encuentra en otros lenguajes como C o Java. En su lugar, se utilizan estructuras de control como if-else
para lograr la misma funcionalidad.
Ejercicios Prácticos
Ejercicio 1
Escribe un programa en Go que tome dos números enteros como entrada y realice las siguientes operaciones: suma, resta, multiplicación, división y módulo. Imprime los resultados.
Solución
package main import "fmt" func main() { var a, b int fmt.Print("Ingresa el primer número: ") fmt.Scan(&a) fmt.Print("Ingresa el segundo número: ") fmt.Scan(&b) fmt.Println("Suma:", a + b) fmt.Println("Resta:", a - b) fmt.Println("Multiplicación:", a * b) fmt.Println("División:", a / b) fmt.Println("Módulo:", a % b) }
Ejercicio 2
Escribe un programa en Go que tome dos valores booleanos como entrada y realice las siguientes operaciones lógicas: AND, OR y NOT. Imprime los resultados.
Solución
package main import "fmt" func main() { var a, b bool fmt.Print("Ingresa el primer valor booleano (true/false): ") fmt.Scan(&a) fmt.Print("Ingresa el segundo valor booleano (true/false): ") fmt.Scan(&b) fmt.Println("a && b:", a && b) fmt.Println("a || b:", a || b) fmt.Println("!a:", !a) }
Conclusión
En esta sección, hemos cubierto los diferentes tipos de operadores en Go, incluyendo aritméticos, de asignación, de comparación, lógicos y de bits. También hemos proporcionado ejemplos prácticos y ejercicios para reforzar los conceptos aprendidos. Con esta base, estarás mejor preparado para manejar operaciones básicas y avanzadas en tus programas en Go.
Curso de Programación en Go
Módulo 1: Introducción a Go
- Introducción a Go
- Configuración del Entorno de Go
- Tu Primer Programa en Go
- Sintaxis y Estructura Básica
Módulo 2: Conceptos Básicos
Módulo 3: Estructuras de Datos Avanzadas
Módulo 4: Manejo de Errores
Módulo 5: Concurrencia
Módulo 6: Temas Avanzados
Módulo 7: Desarrollo Web con Go
Módulo 8: Trabajando con Bases de Datos
Módulo 9: Despliegue y Mantenimiento
- Construcción y Despliegue de Aplicaciones Go
- Registro de Logs
- Monitoreo y Optimización de Rendimiento
- Mejores Prácticas de Seguridad