Was ist Swift?
Swift stellte Apple 2014 vor, um Objective-C abzulösen. Die Sprache ist sicher (Optionals gegen Null-Fehler, Speicherprüfungen), schnell (kompiliert über LLVM) und ausdrucksstark. Sie ist Open Source (swift.org) und läuft auf macOS, iOS, iPadOS, watchOS, tvOS, visionOS sowie Linux, Windows und Android.
Einsatz: Apps für iPhone, iPad, Mac, Apple Watch mit SwiftUI; Server mit Vapor; Kommandozeilenwerkzeuge; zunehmend auch eingebettete Systeme (Embedded Swift).
Werkzeuge
- Xcode (nur macOS): IDE mit Simulator
- Swift-Toolchain von swift.org für Linux/Windows; swiftly als Installer
- Swift Playgrounds (iPad/Mac) zum Lernen
- Kommandozeile:
swiftc datei.swift -o programm,swift datei.swift(interpretiert),swift package init --type executable,swift run,swift test
Das erste Programm
print("Hallo Swift!")
let name = "Mia"
print("Hallo, \(name)!")
print("2 + 3 =", 2 + 3)
print("Mehrere", "Werte", separator: "-", terminator: "!\n")Hallo Swift! Hallo, Mia! 2 + 3 = 5 Mehrere-Werte!
- Top-Level-Code in
main.swiftläuft direkt, einemain-Funktion ist nicht nötig \(ausdruck)setzt Werte in Strings ein- Anweisungen brauchen keinen Strichpunkt
- Kommentare:
// ...,/* ... */, Dokumentation/// ...
let und var
let deklariert Konstanten, var Variablen. Bevorzuge let: Der Compiler warnt, wenn ein var nie verändert wird.
let pi = 3.14159 // Konstante, Typ Double wird erschlossen
var zaehler = 0 // Variable
zaehler += 1
let alter: Int = 17 // Typ ausdrücklich
var name: String = "Mia"
name = "Tom"
let (x, y) = (3, 4) // Tupel zerlegen
print(pi, zaehler, alter, name, x, y)
let million = 1_000_000 // Unterstriche als Trenner
print(million, 0xFF, 0b101, 1e3)
print(type(of: pi), type(of: alter), type(of: name), type(of: x))3.14159 1 17 Tom 3 4 1000000 255 5 1000.0 Double Int String Int
So führst du den Code aus: Online im Swift Playground oder lokal: Datei main.swift mit swift main.swift ausführen (Xcode oder Swift-Toolchain nötig).
Merke
- Swift ist sicher, schnell und modern; Open Source auf vielen Plattformen
let(Konstante) undvar(Variable); Typinferenzprint, String-Interpolation\(wert)- Werkzeuge: Xcode,
swiftc,swift run - SwiftUI für Apps, Vapor für Server
Aufgabe
Gib Name und Alter in einem Satz aus und berechne das Geburtsjahr.