Conceptos básicos de precedencia de operadores
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 27 de 109.
Precedencia de operadores determina el orden en el que se realizan las operaciones en una expresión. Las operaciones con mayor precedencia se realizan antes que aquellas con menor precedencia.
Crea un programa que demuestre la precedencia de operadores:
result1 := 5 + 3 * 2
result2 := (5 + 3) * 2
fmt.Println("5 + 3 * 2 =", result1)
fmt.Println("(5 + 3) * 2 =", result2)Esto muestra:
5 + 3 * 2 = 11
(5 + 3) * 2 = 16En la primera expresión, la multiplicación (*) tiene mayor precedencia que la suma (+), por lo que 3 * 2 se calcula primero. En la segunda expresión, los paréntesis anulan la precedencia predeterminada, obligando a que 5 + 3 se calcule primero.
Desafío
PrincipianteEn este desafío, practicarás la comprensión de la precedencia de operadores en Go. Tienes varias variables con diferentes valores, y necesitas corregir la expresión en la variable result para obtener el resultado esperado.
La expresión actualmente tiene una colocación de paréntesis incorrecta. Tu tarea es añadir paréntesis en los lugares correctos para que la expresión se evalúe como true.
Hoja de referencia
La precedencia de operadores determina el orden en que se realizan las operaciones en una expresión. Las operaciones con mayor precedencia se realizan antes que aquellas con menor precedencia.
La multiplicación (*) tiene mayor precedencia que la suma (+):
result1 := 5 + 3 * 2 // es igual a 11 (3 * 2 primero, luego + 5)
result2 := (5 + 3) * 2 // es igual a 16 (5 + 3 primero, luego * 2)Utilice paréntesis para anular la precedencia predeterminada y controlar el orden de las operaciones.
Pruébalo tú mismo
package main
import "fmt"
func main() {
// Estas variables ya están configuradas para ti
a := true
b := false
c := true
// TODO: Agrega paréntesis a la expresión de abajo para que se evalúe como true
// HINT: La expresión debe evaluarse como true
result := a && b || c
// No modifiques la línea de abajo
fmt.Println(result)
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones