[SWIFT] Introduction à la sortie pratique rapide Chapitre 5 Partie 2

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 existe 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.

instruction for-in énumération des éléments de séquence

chapter5.swift


let array = [1,2,3]
for element in array {
    print(element)
}

Dictionary

chapter5.swift


let dictionary = ["a": 1, "b": 2]
for (key,value) in dictionary {
    print("Key: \(key), vlue: \(value)")
}

tandis que l'instruction se répète selon les conditions de continuation

chapter5.swift


var f = 1
while f < 4 {
    print(f)
    f += 1
}

répéter la déclaration while

L'instruction while évalue l'expression conditionnelle avant son exécution, elle peut donc ne jamais être exécutée. Par conséquent, si vous souhaitez le répéter plusieurs fois, quel que soit le succès ou l'échec de l'expression conditionnelle, utilisez la répétition whie.

chapter5.swift


var t = 1
repeat {
    print(t)
    t += 3
}
while t < 1

Interruption en cours

L'instruction break met fin à l'ensemble de l'instruction répétitive.

chapter5.swift


var containsTwo = false
let garray = [1,2,3]

for element in garray {
    if element == 2 {
        containsTwo = true
        break
    }
    print("element:\(element)")
}
print("containsTwo:\(containsTwo)")

L'instruction continue suspend uniquement le traitement en cours et poursuit le traitement suivant.

chapter5.swift


var odds = [Int]()
let rarray = [1,2,3,4,5,6]

for element in rarray {
    if element % 2 == 1 {
        odds.append(element)
        continue
    }
    print("even:\(element)")
}
print("odds:\(odds)")
}

Instruction de report pour exécution retardée

déclaration différée: traitement en quittant le champ

chapter5.swift


var count = 0

func someFUNTIONS() -> Int{
    defer {
        count += 1
    }
    return count
}
print(someFUNTIONS())
print(someFUNTIONS())
print(count)

Évaluation basée sur la structure et la nature des valeurs de correspondance de modèle

swift a le concept d'un modèle qui exprime la structure et les propriétés d'une valeur Attendre un modèle consiste à vérifier si la valeur correspond à un modèle spécifique.

Modèle d'expression ~ = Évaluation par l'opérateur

chapter5.swift


let integer = 6

switch integer {
case 6:
    print("match: 6")
    
case 5...10:
    print("match: 5...10")
    
default:
    print("default")
}

Evaluation de la liaison de valeur avec substitution de valeur

chapter5.swift


let values = 3

switch values {
case let matchValue :
    print(matchValue)
}

Evaluation de la présence ou de l'absence d'une valeur de type optionnelle

chapter5.swift


let values = 3
let optionalD = Optional(4)
switch optionalD{
case let f?:
    print(f)
    
default:
    print("nil")
}

}

Modèle de cas énuméré Évaluation de la correspondance avec le cas

chapter5.swift


enum Hemisphere {
    case northern
    case southern
}

let hemisphere = Hemisphere.southern
//let hemisphere = Optional(Hemisphere.southern)
switch hemisphere {
case .northern:
    print("match: .northern")
case .southern:
    print("match: .southern")
//case nil:
//    print("nil")
}

enum Color {
    case rgb(Int,Int,Int)
    case cmyk(Int,Int,Int,Int)
}

let color = Color.rgb(100, 200, 230)
switch color {
case .rgb(let r, let h, let j):
print(".rgb: (\(r), \(h), \(j))")
case .cmyk(let k,let y, let u, let o):
print(" .cmyk: (\(k),\(y),\(u),\(o))")

}

Modèle de moulage de type par un opérateur Évaluation par jugement de type

chapter5.swift


let any: Any = "fafafa"
switch any {
case is String:
    print("match: String")
case is Int:
    print("match: Int")
default:
    print("default")
}

}

Type de modèle de moulage en tant qu'opérateur Évaluation par type de fonte

chapter5.swift


let anys : Any = "1"
switch anys {
case let string as String:
    print("match: string(\(string))")
case let int as Int:
    print("match: int(\(int))")
default:
    print("default")
}

Où la correspondance de modèle peut être utilisée si instruction

chapter5.swift


let fff = 9
if case 1...10 = fff {
    print("yes")
}

//déclaration de garde
func someFunc() {
    let value = 9
    guard case 1...10 = value else {
        return
    }
    print("yes")
}
someFunc()

//pour dans la déclaration
let harray = [1,2,3,4,5,6]
for case 2...5 in harray {
    print("2 ou plus et 5 ou moins")
}

déclaration while

chapter5.swift


var nextValue = Optional(1)
while case let value? = nextValue {
    print("value:\(value)")
    
    if value >= 8 {
        nextValue = nil
    } else {
        nextValue = value + 1
    }
}

Recommended Posts

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
Introduction à Spring Boot, partie 1
Introduction à Linux Container / Docker (Partie 2)
Sortie du livre "Introduction à Java"
Introduction à Ruby 2
Ingénieur en route vers Java Partie 1 Introduction et construction de l'environnement
java pratique partie 1
Introduction à web3j
Introduction à Micronaut 1 ~ Introduction ~
[Java] Introduction à Java
Introduction à la migration
Introduction à Java
forEach pratique (Partie 1: réécriture de l'instruction forEach vers la méthode forEach)
Introduction à Doma
Introduction aux algorithmes avec java-Dictionary Order / Combination Divers Food (Part1)
[Entraine toi! ] Introduction de JFrame (expliquant jusqu'à la création d'écran)
Java Performance Chapitre 1 Introduction
Introduction aux fichiers JAR
Introduction de Docker - Partie 1--
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
Introduction à Ratpack (2) -Architecture
Introduction au style lambda
Introduction à la commande java
Introduction au développement de Keycloak
Introduction à la commande javac