[SWIFT] Einführung in die schnelle Übungsausgabe Kapitel 5 Teil 2

Steuerungssyntax

Bedingte Verzweigung, Wiederholung, verzögerte Ausführung, Mustervergleich Eine Syntax, die den Ausführungsfluss eines Programms steuert. Es gibt bedingte Verzweigungen und Wiederholungen bei der Steuerung des Steuerungsflusses, und sie können frei kombiniert und ausgeführt werden.

For-In-Anweisung Aufzählung von Sequenzelementen

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)")
}

Die while-Anweisung wird gemäß den Fortsetzungsbedingungen wiederholt

chapter5.swift


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

wiederhole while-Anweisung

Die while-Anweisung wertet den bedingten Ausdruck vor der Ausführung aus, sodass er möglicherweise nie ausgeführt wird. Wenn Sie es daher unabhängig vom Erfolg oder Misserfolg des bedingten Ausdrucks mehrmals wiederholen möchten, verwenden Sie repeat whie.

chapter5.swift


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

Unterbrechung läuft

Die break-Anweisung beendet die gesamte sich wiederholende Anweisung.

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)")

Die continue-Anweisung unterbricht nur die aktuelle Verarbeitung und setzt die nachfolgende Verarbeitung fort.

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)")
}

Aufschub für verspätete Ausführung

Defer-Anweisung: Verarbeitung beim Verlassen des Gültigkeitsbereichs

chapter5.swift


var count = 0

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

Bewertung basierend auf der Struktur und Art der Musterübereinstimmungswerte

swift hat das Konzept eines Musters, das die Struktur und Eigenschaften eines Wertes ausdrückt Wenn Sie auf ein Muster warten, müssen Sie überprüfen, ob der Wert mit einem bestimmten Muster übereinstimmt.

Ausdrucksmuster ~ = Auswertung durch den Operator

chapter5.swift


let integer = 6

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

Wertebindung Bewertung mit Wertsubstitution

chapter5.swift


let values = 3

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

Bewertung des Vorhandenseins oder Nichtvorhandenseins eines optionalen Wertes vom Typ <umhüllt>

chapter5.swift


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

}

Aufgezähltes Fallmuster Bewertung der Übereinstimmung mit dem Fall

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))")

}

Typgussmuster von ist Operator Bewertung durch Typbeurteilung

chapter5.swift


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

}

Typgussmuster von als Operator Bewertung nach Typguss

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")
}

Wobei Pattern Matching verwendet werden kann, wenn Anweisung

chapter5.swift


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

//Wachaussage
func someFunc() {
    let value = 9
    guard case 1...10 = value else {
        return
    }
    print("yes")
}
someFunc()

//für in Aussage
let harray = [1,2,3,4,5,6]
for case 2...5 in harray {
    print("2 oder mehr und 5 oder weniger")
}

while-Anweisung

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

Einführung in die schnelle Übungsausgabe Kapitel 5 Teil 2
Einführung in die schnelle Übungsausgabe Kapitel 4 Typ, der die Sammlung darstellt Teil 1
Einführung in die schnelle Übungsausgabe Typ, der die Sammlung von Kapitel 4 Teil 2 darstellt
Einführung in Spring Boot Teil 1
Einführung in Linux Container / Docker (Teil 2)
Ausgabe des Buches "Einführung in Java"
Einführung in Ruby 2
Road to Java Engineer Teil 1 Einführung & Umgebungskonstruktion
Java-Übung Teil 1
Einführung in web3j
Einführung in Micronaut 1 ~ Einführung ~
[Java] Einführung in Java
Einführung in die Migration
Einführung in Java
forEach-Übung (Teil 1: Umschreiben von forEach-Anweisung in forEach-Methode)
Einführung in Doma
Einführung in Algorithmen mit Java-Dictionary Reihenfolge / Kombination verschiedener Lebensmittel (Teil1)
[Trainieren! ] Einführung von JFrame (Erklärung bis zur Bildschirmerstellung)
Java-Leistung Kapitel 1 Einführung
Einführung in JAR-Dateien
Einführung von Docker - Teil 1--
Einführung in Ratpack (8) -Session
Einführung in die Bitarithmetik
Einführung in Ratpack (6) --Promise
Einführung in Ratpack (9) - Thymeleaf
Einführung in PlayFramework 2.7 ① Übersicht
Einführung in das Android-Layout
Einführung in Entwurfsmuster (Einführung)
Einführung in die praktische Programmierung
Einführung in den Befehl javadoc
Einführung in den Befehl jar
Einführung in Ratpack (2) -Architektur
Einführung in den Lambda-Stil
Einführung in den Java-Befehl
Einführung in die Keycloak-Entwicklung
Einführung in den Befehl javac