Declaración de inicialización en la declaración if
En el aprendizaje previo, la declaración if
tenía solo un parámetro, la condición:
if condition {
code
}
El parámetro completo también incluye una declaración de inicialización, que es un parámetro opcional en Go. Por lo general, se utiliza para la declaración e inicialización de variables temporales, y la declaración de inicialización se separa con un punto y coma cuando se utiliza. La sintaxis es la siguiente:
if initialization statement; condition {
code
}
Hemos reescrito el programa de la sección "if else". Hemos movido la declaración de la variable a la declaración if
como una declaración de inicialización para acortar el código:
package main
import (
"fmt"
"time"
)
func main() {
if t := time.Now(); t.Weekday() == time.Saturday || t.Weekday() == time.Sunday {
fmt.Println("Today is:", t.Weekday(), "weekend, studying and recharging")
} else {
fmt.Println("Today is:", t.Weekday(), "also studying hard")
}
}
Ejecuta el programa:
go run if_else.go
Se puede ver que se ejecuta correctamente:
Today is: Monday also studying hard
Nota: El alcance de la variable declarada en la declaración de inicialización solo está dentro del bloque if
.
No sé si ustedes, los entusiastas de Go, han notado los requisitos de formato de Go al aprender las declaraciones if.
- En Go, las palabras clave
if
, else
y else if
deben estar en la misma línea que la llave derecha }
.
- Las palabras clave
else if
y else
también deben estar en la misma línea que la llave izquierda anterior, de lo contrario, el compilador informará un error de sintaxis en tiempo de compilación.
Si ejecutamos el programa después de mover la declaración else
a la siguiente línea, el compilador informará un error de sintaxis.