[SWIFT] Introduction à la pratique rapide Chapitre 5

Syntaxe de contrôle

Branchement conditionnel, répétition, exécution retardée, correspondance de modèle Une syntaxe qui contrôle le flux d'exécution d'un programme. Il y a des branchements conditionnels et des répétitions dans le contrôle du flux de contrôle, et ils peuvent être combinés et exécutés librement.

branche en fonction du succès ou de l'échec de la condition de l'instruction if

chapter5.swift


let value = 5

if value <= 4 {
    print("la valeur est inférieure ou égale à 4")
}else {
    print("la valeur est de 5 ou plus")
}

if let instruction Branch en fonction de la présence ou de l'absence d'une valeur

Un type optionnel est un type de données qui permet l'affectation de nil à une variable, et inversement, un type non optionnel ne peut pas affecter nil. Les variables facultatives ont un "?" Ou "!" À la fin du type de données.

chapter5.swift


let optionalA = Optional(1)

if let a = optionalA {
    print("La valeur est\(a)est")
}else {
    print("La valeur n'existe pas")
}

let optionalB = Optional("b")
let optionalC = Optional("c")

if let b = optionalB, let c = optionalC{
    print("La valeur est\(b)Quand\(c)tu sais")
}else {
    print("Absent")
}

déclaration de garde Direction qui quitte tôt lorsque les conditions ne sont pas remplies

L'instruction de garde est une syntaxe qui décrit ce qu'il faut faire si les conditions ne sont pas remplies. Si les conditions ne sont pas remplies, il est nécessaire d'écrire un processus pour terminer la méthode, terminer le processus itératif ou quitter la portée.

Code qui quitte le traitement lorsque la condition n'est pas remplie à l'aide de l'instruction de garde

chapter5.swift


//garde expression conditionnelle else{
//Instruction exécutée lorsque l'expression conditionnelle est fausse
//Il est nécessaire de sortir de l'instruction de portée dans laquelle l'instruction de garde est décrite
//}

func someFunction() {
    let value = -1
    
    guard value >= 0 else {
        print("Valeur inférieure à 0")
        return
    }
    print(value)
}
someFunction()

Sortie forcée en dehors du champ d'application de la déclaration de garde

chapter5.swift


func printIfPositive(_ a: Int) {
    guard a > 0 else {
        return
    }
    print(a)
}
printIfPositive(6)

Accès aux variables et constantes déclarées dans l'instruction de garde

La différence entre l'instruction guard let et if let Le point que les variables et les constantes déclarées dans l'instruction guard let peuvent être utilisées après l'instruction guard let

chapter5.swift


func someFONCTION() {
    let a :Any = 3
    
    guard let int = a as? Int else {
        print("a n'est pas de type Int")
        return
    }
    print("La valeur est de type Int\(int)est")
}
someFONCTION()

func checkInt(num:Int) {
    guard num >= 0 else {
        print("C'est un moins")
        return
    }
    print("Est un plus")
}
 
checkInt(num:-10)
checkInt(num:10)

instruction switch Branche par plusieurs correspondances de modèle

chapter5.swift


let r = -1
switch  r {
case Int.min ..< 0:
    print("r est un nombre négatif")
    
case 1 ..< Int.max:
    print("r est un nombre positif")
default:
    print("a vaut 0")
}

Vérification de l'exhaustivité du dossier

chapter5.swift


enum SomeEnum {
    case foo
    case bar
    case baz
}

let foo = SomeEnum.foo

switch foo {
case .foo:
    print(".foo")
    
case .bar:
    print(".bar")
    
case .baz:
    print(".baz")

}

où mot clé Ajouter des conditions qui correspondent à la casse

chapter5.swift


let optionalP: Int? = 12

switch optionalP {
case .some(let a) where a > 10:
    print("Valeur supérieure à 10\(a)Existe")
default:
    print("La valeur n'existe pas ou est inférieure à 10")
}

let g = 1

switch g {
case 1:
    print("Sera exécuté")
    break
    print("Non exécuté")
default:
    break
}

Recommended Posts

Introduction à la pratique rapide Chapitre 5
Introduction à la sortie pratique rapide Chapitre 5 Partie 2
Introduction à la sortie pratique rapide Chapitre 4 Type représentant la collection Partie 1
Introduction à la sortie pratique rapide Type représentant la collection du chapitre 4 Partie 2
Sortie du livre "Introduction à Java"
Introduction à Ruby 2
Introduction à web3j
Introduction à Micronaut 1 ~ Introduction ~
[Java] Introduction à Java
Introduction à la migration
Introduction à Java
Introduction à Doma
Java Performance Chapitre 1 Introduction
Introduction aux fichiers JAR
Introduction à Ratpack (8) - Session
Introduction à l'arithmétique des bits
Introduction à Ratpack (6) - Promesse
Introduction à Ratpack (9) --Thymeleaf
Introduction à PlayFramework 2.7 ① Présentation
Introduction à la mise en page Android
Introduction aux modèles de conception (introduction)
Introduction à la programmation pratique
Introduction à la commande javadoc
Introduction à la commande jar
[Entraine toi! ] Introduction de JFrame (expliquant jusqu'à la création d'écran)
Introduction à Ratpack (2) -Architecture
Introduction au style lambda
Introduction à la commande java
Introduction au développement de Keycloak
Introduction à la commande javac
Introduction aux modèles de conception (Builder)
Introduction au développement d'applications Android
Introduction à Ratpack (5) --Json & Registry
Introduction à la métabase ~ Construction de l'environnement ~
Introduction à Ratpack (7) --Guice & Spring
(Installation par points) Introduction à Java8_Impression
Introduction aux modèles de conception (composite)
Introduction à Micronaut 2 ~ Test unitaire ~
Sortie javaDoc dans un fichier Word
Introduction à JUnit (note d'étude)
Introduction à Spring Boot ① ~ DI ~
Introduction aux modèles de conception (poids mouche)
[Java] Introduction à l'expression lambda
Introduction à Spring Boot ② ~ AOP ~
Introduction à Apache Beam (2) ~ ParDo ~
Sortie de l'arborescence XML dans un fichier
Introduction à l'API EHRbase 2-REST
Pratique pour unifier l'implémentation de Dialog
Introduction au prototype de modèles de conception