Go – Operators
Introducción
Una vez que hemos visto los tipos de datos de Go, vamos a ver los operadores.
Los operadores de Go nos permitirán operar con los diferentes tipos de datos. Pero conviene conocer qué tipo de operadores tenemos y que tipo de operaciones podemos realizar con cada tipo de dato, algo que veremos en esta entrada.
Una de las cosas que debemos comprender, es que tenemos operaciones propias para datos numéricos incluyendo los datos numéricos con coma flotante, operaciones para tipos de datos bool, ya sean como operadores lógicos o de igualdad o desigualdad, y operaciones con números complejos.
También existen unos operandos de carácter especial que veremos al final de la entrada como información adicional a tener en consideración en Go.
Empecemos.
Operadores de tipos numéricos
Las operaciones con tipos numéricos, ya sean en coma flotante o no, pueden ser operaciones aritméticas, de comparación, de tipo bit a bit, de incremento y decremento, o de asignación.
- Los operadores aritméticos son:
+ – * / % - Los operadores de comparación (también denominados relacionales) son:
== != < > <= >= - Los operadores bit a bit o bitwise son:
& | ^ << >> - Los operadores de incremendo o decremento son:
++ — - Los operadores de asignación son:
= += -= *= /= %= <<= >>= &= |= ^=
Veamos algunos de estos operadores con un ejemplo de código:
// Operator (+)
var two, three = 2, 3
var result = two + three
// Increment and Decrement Operators (Increment by 1)
three++
// Assignment Operator (Decrement by 2)
three -= 2
// Comparison Operators
var isGreaterAndEqualThan3 = three >= 3
En este ejemplo, el operador + nos va a dar la suma de los valores cuyo resultado es 5.
El uso del operador de incremento ++ nos dará un resultado de 4.
Y el operador de asignación -= nos dará como resultado 2.
Y para finalizar, el operador de comparación >= nos va a dar como resultado false.
Es como vemos, un sencillo de ejemplo para comprender el uso de los operadores con tipos numéricos.
Operadores de tipos booleanos (bool)
Por su parte, las operaciones con tipos de datos bool pueden ser de dos tipos, operadores lógicos, y operadores de igualdad o desigualdad.
- Los operadores lógicos por su parte, pueden ser de varios subtipos, de conjunción, disyunción, o de negación.
- Los subtipos de conjunción son: AND &&
- Los subtipos de disyunción son: OR ||
- Los subtipos de negación son: NOT !
- Por su parte, los operadores de igualdad y de desigualdad son:
- Igualdad: ==
- Desigualdad: !=
Veamos un sencillo ejemplo del uso de algunos de estos operadores:
var isOk bool = true
var isKo bool
// Operator (&&)
var boolOp1 = isOk && isKo
// Operator (||)
var boolOp2 = isOk || isKo
En el primer operador, el resultado obtenido será false, mientras que en el segundo operador el resultado será true.
Recordemos que por defecto, Go inicializa una variable de tipo bool como false.
Operadores de números complejos
Las operaciones con números complejos, admiten las operaciones:
+ – * /
Por ejemplo:
var complexNumber1 = complex(1.23, 3.45)
var complexNumber2 = complex(0.19, 0.51)
var complexNumber = complexNumber1 + complexNumber2
Operadores especiales en Go
Existen en Go dos operadores especiales, que suelen estar fuera de los operadores principales que acabamos de ver.
Se trata de los operadores:
& *
El operador & lo podemos utilizar para obtener la dirección de memoria en la que se encuentra una variable.
El operador * lo podemos utilizar para obtener un puntero a la variable.
Son dos operadores de carácter especial y que casi seguro, utilizaremos en algún momento dentro de nuestras aplicaciones Go.
Conclusiones
Como podemos observar, es fácil realizar operaciones con los diferentes tipos de datos que tenemos dentro de Go.
Y por lo general, no son muy diferentes a las que existen en otros lenguajes de programación.
Podrás encontrar el ejemplo completo de lo hablado en esta entrada, en mi repositorio de GitHub.
Happy Coding!