Swift Language Usando guardia


Ejemplo

2.0

El guardia comprueba una condición y, si es falso, entra en la rama. Las sucursales de los cheques de guardia deben dejar su bloque adjunto ya sea a través de return , break o continue (si corresponde); no hacerlo resulta en un error de compilación. Esto tiene la ventaja de que cuando se escribe una guard , no es posible dejar que el flujo continúe accidentalmente (como sería posible con un if ).

El uso de guardas puede ayudar a mantener bajos los niveles de anidamiento , lo que generalmente mejora la legibilidad del código.

func printNum(num: Int) {
    guard num == 10 else {
        print("num is not 10")
        return
    }
    print("num is 10")
}

Guard también puede verificar si hay un valor en un opcional , y luego desenvolverlo en el alcance externo:

func printOptionalNum(num: Int?) {
    guard let unwrappedNum = num else {
        print("num does not exist")
        return
    }
    print(unwrappedNum)
}

Guard puede combinar el desenvolvimiento opcional y la verificación de condición usando la palabra clave where :

func printOptionalNum(num: Int?) {
guard let unwrappedNum = num, unwrappedNum == 10 else {
    print("num does not exist or is not 10")
    return
}
print(unwrappedNum)
}