Flujo de control básico rápido

Swift proporciona una estructura de control de flujo similar al lenguaje C, que incluye bucles for y while que pueden ejecutar tareas varias veces, declaraciones if y switch que seleccionan ejecutar diferentes ramas de código en función de condiciones específicas, y romper y continuar que controlan el flujo al que saltar. Otros códigos Declaración.

Además del bucle de incremento condicional for tradicional en C, Swift también agrega un bucle for-in para recorrer matrices, diccionarios, rangos, cadenas y otros tipos de secuencia más fácilmente.

La declaración de cambio de Swift es más poderosa que el lenguaje C. En lenguaje C, si un caso falla accidentalmente en break, este caso "caerá" en el siguiente caso. Swift no necesita escribir break, por lo que esta situación de "caída en" no sucederá. El caso también puede coincidir con más patrones de tipo, incluida la coincidencia de rango, tuplas y descripciones de tipos específicos. El valor coincidente en una declaración de caso de cambio se puede determinar mediante una constante o variable temporal dentro del cuerpo del caso, o una cláusula where puede describir condiciones de coincidencia más complejas.

1. declaración if

let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
    
    
    if score > 50 {
    
    
        teamScore += 3
    } else {
    
    
        teamScore += 1
    }
}
print(teamScore)

En la sentencia if, la condición debe ser un código de expresión booleano como si score {…} es incorrecto.

2. Use if y let para manejar los valores perdidos

Puede usar if y let juntos para manejar los valores perdidos. El valor de algunas variables es opcional. Un valor opcional puede ser un valor específico o nulo, lo que indica que falta el valor. Agregue un signo de interrogación después del tipo para marcar que el valor de esta variable es opcional.

var optionalString: String? = "Hello"
optionalString == nil

var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
    
    
    greeting = "Hello, \(name)"
}
print(greeting)

Ejercicio : Cambie OptionalName a nil. ¿Qué será el saludo? Agregue una instrucción else para asignar un valor diferente al saludo cuando OptionalName sea nil.

Si el valor opcional de la variable es nulo, la condición se considerará falsa y se omitirá el código entre llaves. Si no es nulo, el valor se asignará a la constante después de let para que el valor se pueda usar en el bloque de código.

3. La declaración de cambio

Switch admite cualquier tipo de datos y varias operaciones de comparación, no solo números enteros y pruebas de igualdad.

let vegetable = "red pepper"
switch vegetable {
    
    
case "celery":
    let vegetableComment = "Add some raisins and make ants on a log."
    print(vegetableComment)
case "cucumber", "watercress":
    let vegetableComment = "That would make a good tea sandwich."
    print(vegetableComment)
case let x where x.hasSuffix("pepper"):
    let vegetableComment = "Is it a spicy \(x)?"
    print(vegetableComment)
default:
    let vegetableComment = "Everything tastes good in soup."
    print(vegetableComment)
}

Ejercicio : elimine la declaración predeterminada y vea qué errores ocurrirán.

Después de ejecutar las cláusulas coincidentes en el conmutador, el programa saldrá de la instrucción del conmutador y no continuará ejecutándose, por lo que no es necesario escribir break al final de cada cláusula.

4. Declaración de entrada

Puede usar for-in para recorrer el diccionario y necesita dos variables para representar cada par clave-valor.

let interestingNumbers = [
    "Prime": [2, 3, 5, 7, 11, 13],
    "Fibonacci": [1, 1, 2, 3, 5, 8],
    "Square": [1, 4, 9, 16, 25]
]
var largest = 0
for (kind, numbers) in interestingNumbers {
    
    
    print(kind)
    for number in numbers {
    
    
        largest = number
        print(largest)
    }
}

Ejercicio : agregue otra variable para registrar qué tipo de número es el más grande.

Puede usar ... en el bucle para indicar el rango, o puede usar la forma tradicional de escribir, los dos son equivalentes:

// for-in 循环范围
var firstForLoop = 0
for i in 0...3 {
    firstForLoop += i
}
print(firstForLoop)

5. Declaración while

Use while para ejecutar repetidamente un fragmento de código hasta que no se cumpla la condición. La condición de bucle puede estar al principio o al final.

var n = 2
var number = 0

while n < 100 {
    
    
    number += 1
    n = n * 2
}
print(n,number)

var m = 2
repeat {
    
    
    m = m * 2
} while m < 100
print(m)

Bienvenido a seguir la cuenta oficial [Swift Community]:

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_36478920/article/details/103425455
Recomendado
Clasificación