Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


swift:introduccion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
swift:introduccion [2023/10/18 15:06] – creado thejuanvisuswift:introduccion [2023/11/23 10:17] (actual) thejuanvisu
Línea 1: Línea 1:
 ====== Introducción a swift ====== ====== Introducción a swift ======
 +Librerías básicas 
 +Import Foundation
 ===== Opcionalidad ===== ===== Opcionalidad =====
  
-Una variable puede ser opcional, no tiene valor +Una variable puede ser opcional, no tiene valor. 
-<code>+<code swift>
 var optionalString = "Hello" var optionalString = "Hello"
 print(optionalString == nil)//Esto sería un False print(optionalString == nil)//Esto sería un False
Línea 12: Línea 13:
 if let name = optionalName{ if let name = optionalName{
    greeting = "Hola, \(name)"    greeting = "Hola, \(name)"
 +}
 +
 +</code>
 +
 +Podemos lidiar con los valores nulos utilizando doble interrogación:
 +
 +<code swift>
 +   let nickname: String? = nil
 +   let fulname = "patata"
 +   //con la doble interrogación indicamos que si nickname es null, se muestra fulname en su lugar
 +   let informalGreeting = "Hola \(nickname ?? fulname)"
 +   print(informalGreeting)
 +</code>
 +
 +===== Switches =====
 +
 +
 +<code swift>
 +let vegetable = "pepper"
 +switch vegetable {
 +  case "celery":
 +    print("Me da que esto no es, pero a saber")
 +  case "cucumber", "Watercress":
 +    Print("Esto le da miedo a youtube")
 +  case ket x Where x.hasSuffix("pepper")://si acaba en pepper se ejecuta
 +    print("THIS")
 +  default:
 +    print("Verdura")
 +}
 +</code>
 +
 +
 +===== Programación Funcional =====
 +Swift tiene programación funcional.
 +Ejemplos:
 +<code swift>
 +Long result = numetos.stream().filter(num.patata > 10)//Filtro
 +</code>
 +
 +<code swift>
 +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(_, numbers) in interestingNumbers{
 +  for number in numbers{
 +    if number > largest {
 +      largest = number
 +    }
 +  }
 +}
 +
 +print largest
 +</code>
 +
 +===== Bucles =====
 +
 +
 +<code swift>
 +var n = 2
 +while n < 100{//Bucle Repeat
 +  n*=2
 +}
 +
 +print(n)
 +
 +var m=2
 +repeat{//Bucle repeat While
 +  m*=2
 +} while m<100
 +print(M)
 +</code>
 +
 +===== Funciones =====
 +
 +<code swift>
 +func saludo(persona: String, day:String)->String{
 + return "Hola \(persona) hoy es \(dia)"
 +}
 +
 +saludo(persona: "Pancho", dia: "Martes")
 +</code>
 +
 +Si ponemos un _ en la declaración de una función ya no es necesario indicar el tipo antes de la entrada de esta, también podemos cambiar el nombre de variable poniendo delante como queremos que sea:
 +
 +<code swift>
 +func saludo(_ persona String, en day:String)->String{// persona con el _ y day con en para indicar el día
 +  return "Hola \(persona) hoy es \(dia)"
 +}
 +
 +saludo("Pancho", en: "Martes")
 +
 +</code>
 +
 +También se pueden anidar funciones dentro de funciones, estas funciones anidadas no se pueden usar fuera de la función que esamos implementando:
 +
 +<code swift>
 +func prueba()->String{
 +  func anidada(){
 +    print("Hola, soy una funcion anidada")
 +  }
 +  return anidada()
 } }
  
 </code> </code>
swift/introduccion.1697641601.txt.gz · Última modificación: 2023/10/18 15:06 por thejuanvisu