English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las decisiones en la programación son similares a las decisiones en la vida real. En las decisiones, se ejecuta un segmento de código cuando se satisfacen ciertas condiciones. A veces, también se las llama instrucciones de flujo de control.GolangUsar una instrucción específica para especificar el flujo de ejecución del programa según ciertas condiciones. Estas se usan para avanzar y ramificar el flujo de ejecución según los cambios en el estado del programa.
Las sentencias de decisión en el programación de Go son:
Esto es la decisión más simple. Se usa para decidir si se debe ejecutar alguna instrucción o bloque de instrucciones, es decir, si alguna condición esVerdaderoentonces ejecutar el bloque de instrucciones, de lo contrario no se ejecutará.
Sintaxis:
if(condition) { //Las instrucciones que se deben ejecutar //La condición es verdadera }
Diagrama de flujo:
Ejemplo:
//Uso de la declaración if package main import "fmt" func main() { //Tomar la variable local var v int = 700 //Uso de la declaración if //Verificar la condición if v < 1000 { //Imprimir el siguiente contenido, la evaluación de la condición es verdadera fmt.Printf("v es menor que1000\n") } fmt.Printf("El valor de v es: %d\n", v) }
Salida:
v es menor que1000 El valor de v es: 700
La sentencia if nos dice que si la condición es verdadera, ejecutará el bloque de instrucciones, y si la condición es falsa, no ejecutará. Pero ¿qué pasa si queremos hacer algo más cuando la condición es falsa? Entonces es cuando se usa la sentencia else. Cuando la condición es falsa, se puede usar la sentencia else junto con la sentencia if para ejecutar el bloque de código.
Sintaxis:
if (condition) {}} // Ejecutar este bloque de código si la condición de if es verdadera } else { // Ejecutar este bloque de código si la condición de if es falsa }
Diagrama de flujo:
// Uso de la declaración if...else package main import "fmt" func main() { //Variable local var v int = 1200 // Verificar la condición usando la declaración if if v < 1000 { //Imprimir el siguiente contenido si la condición se evalúa como verdadera fmt.Printf("v < 1000\n") } else { //Imprimir el siguiente contenido si la condición se evalúa como falsa fmt.Printf("v > 1000\n") } }
Salida:
v > 1000
En el lenguaje Go, un if anidado es una declaración if que es el objetivo de otro if o else. Una declaración if anidada es una declaración if dentro de otra declaración if. Sí, Golang permite que coloquemos una declaración if dentro de otra. Podemos poner una declaración if dentro de otra.
Sintaxis:
if (condition1) { // Cuando la condición1Ejecutar cuando sea verdadera if (condition2) { // Cuando la condición2Ejecutar cuando sea verdadera } }
Diagrama de flujo:
//Uso de declaraciones if anidadas package main import "fmt" func main() { //Dos variables locales var v1 int = 400 var v2 int = 700 //Uso de la declaración if if( v1 == 400 ) { // Ejecutar si la condición es verdadera if( v2 == 700 ) { // Ejecutar impresión de salida si la condición es verdadera fmt.Printf("v1el valor es400, v2el valor es700\n"); } } }
Salida:
v1el valor es400, v2el valor es700
Aquí, el usuario puede elegir entre varias opciones. La declaración if se ejecuta de arriba a abajo. Una vez que alguna condición de if es verdadera, se ejecutarán las instrucciones asociadas con if y se saltarán el resto de las instrucciones if. Si todas las condiciones no se cumplen, se ejecutará la declaración else final.
Importante:
La declaración if puede tener 0 o1if, y debe estar después de otros if.
La declaración if puede tener 0 a múltiples if y debe estar antes de else
Si el else if tiene éxito, el resto de else if o else no se ejecutarán
Sintaxis:
if(condition_1) { //condition_1Ejecutar este bloque de código si la condición es verdadera } else if(condition_2) { //condition_2Ejecutar este bloque de código si la condición es verdadera } else { //Ejecutar este bloque de código si no hay condiciones verdaderas }
Diagrama de flujo:
package main import "fmt" func main() { var v1 int = 700 if(v1 == 100) { // si la condición es verdadera, se mostrará el siguiente contenido fmt.Printf("v1el valor es100\n") } else if(v1 == 200) { fmt.Printf("v1el valor es200\n") } else if(v1 == 300) { fmt.Printf("v1el valor es300\n") } else { //si ninguna condición es verdadera fmt.Printf("sin coincidencia de valor\n") } }
Salida:
No hay valores coincidentes