Swift

Från Wikipedia
ParadigmMulti-paradigmatiskt programspråk (Objekt-orienterat, Funktionellt, Imperativt, Strukturerat)
Gavs ut2014
Skapat avChris Lattner och Apple
UtvecklareApple
Senaste version5.9.2 (2023-12-11)
Influerat avObjective-C, Rust, Haskell, Ruby, Python, C#, CLU, D[1]
PlattformmacOS, iOS, watchOS, tvOS, Linux
LicensÖppen
Webbplatshttps://swift.org

Swift är ett kompilerat, multi-paradigmatiskt programspråk utvecklat av Apple för programmering för iOS, macOS, Linux, tvOS, och watchOS.[2]

Historia[redigera | redigera wikitext]

Utveckling påbörjades i juli 2010 av Chris Lattner som implementerade grundläggande funktionalitet innan ett flertal programmerare bidrog till utvecklingsprocessen så tidigt som 2011. Språkets design inspirerades av "Objective-C, Rust, Haskell, Ruby, Python, C#, CLU och mycket mer". Swift blev ett stort fokus för Apple Developer Tools, avdelningen i Apple ansvarig för Xcode och andra programmeringsverktyg, i juli 2013.[3]

2 juni 2014 annonserades språket för första gången under årets World Wide Developer Conference (WWDC) och beskrevs som "Objective-C utan C".[4] Den ackompanjerande WWDC-appen släpptes ut på App Store samma dag och var den första kommersiella appen skriven i Swift.

Swift nådde version 1.0 den 9 september 2014.[5]

Swift 2.0 släpptes 2015 Swift 3.0 släpptes 2016 och Swift 4.0 släpptes 2017. 2018 släpptes Swift 4.2 och Swift 5.0 som för första gången inkluderar ABI-stabilitet presenterades.

Datum Version
2014-09-09 Swift 1.0
2014-10-22 Swift 1.1
2015-04-08 Swift 1.2
2015-09-21 Swift 2.0
2016-09-13 Swift 3.0
2017-09-19 Swift 4.0
2018-03-29 Swift 4.1
2018-09-17 Swift 4.2
2019-03-25 Swift 5.0[6]

Översikt[redigera | redigera wikitext]

Swift kan beskrivas som en modernisering av Objective-C. Till skillnad från föregångaren använder sig Swift inte av pekare och kräver initiering av variabler. Den Smalltalk-baserade syntaxen för metodanrop har ersatts av en vanligare, punktnotationsliknande syntax. Samtidigt behåller Swift grundläggande Objective-C koncept, som utvidgningar, stängningar och protokoll (Engelska: extensions, closures, protocols).

Kodexempel[redigera | redigera wikitext]

Hello World[redigera | redigera wikitext]

Exempelkod för Hello World, som presenteras i boken The Swift Programming Language:

print("Hello, world!")

Array-sortering[redigera | redigera wikitext]

Exempelkod som demonstrerar sortering och utskrivning av en array som innehåller element av datatypen Int.

var minArray: [Int] = [65, 3, 17, 93]
print(minArray.sorted())

//Skriver ut "[3, 17, 65, 93]".

Generiskt Byte[redigera | redigera wikitext]

Exempelkod för en funktion som byter ut två T-variablers slumpmässiga värden med varandra. Värdena skrivs ut före och efter användning av funktionen.

import Foundation //Krävs för slumpmässighet.

func generisktByte<T>(inout #förstaVärdet: T, inout #andraVärdet: T) { 
    (förstaVärdet, andraVärdet) = (andraVärdet, förstaVärdet)
}

var ettVärde = (arc4random()%10)+1, annatVärde = (arc4random()%10)+1 
//Själva värdena deklareras och definieras som ett slumpmässigt värde mellan 10 och 1.

print("\(ettVärde), \(annatVärde)") //Värdena skrivs ut före bytet.

generisktByte(förstaVärdet: &ettVärde, andraVärdet: &annatVärde)

print("\(ettVärde), \(annatVärde)") //Värdena skrivs ut efter bytet.

En unik egenskap för programspråket är att det stödjer Unicode-karaktärer i själva koden.

Se även[redigera | redigera wikitext]

Referenser[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]