Swift Language Handledning
Komma igång med Swift Language
Sök…
Anmärkningar
Swift är ett applikations- och systemprogrammeringsspråk som utvecklats av Apple och distribueras som öppen källkod . Swift interopererar med Objekt-C och Cocoa / Cocoa touch-API: er för Apples operativsystem macOS, iOS, tvOS och watchOS. Swift stöder för närvarande macOS och Linux. Gemenskapsinsatser pågår för att stödja Android, Windows och andra plattformar.
Snabb utveckling sker på GitHub ; bidrag lämnas vanligtvis via dragförfrågningar .
Bugs och andra problem spåras på bugs.swift.org .
Diskussioner om Swift-utveckling, evolution och användning hålls på Swift-adresslistorna .
Andra resurser
- Swift (programmeringsspråk) (Wikipedia)
- The Swift Programming Language (online)
- Swift Standard Library Reference (online)
- Riktlinjer för API-design (online)
- Swift Programming Series (iBooks)
- ... och mer på Developer.apple.com .
versioner
Snabb version | Xcode-version | Utgivningsdatum |
---|---|---|
utvecklingen började ( först begå ) | - | 2010-07-17 |
1,0 | Xcode 6 | 2014/06/02 |
1,1 | Xcode 6.1 | 2014/10/16 |
1,2 | Xcode 6.3 | 2015/02/09 |
2,0 | Xcode 7 | 2015/06/08 |
2,1 | Xcode 7.1 | 2015/09/23 |
open source-debut | - | 2015/12/03 |
2,2 | Xcode 7.3 | 2016/03/21 |
2,3 | Xcode 8 | 2016/09/13 |
3,0 | Xcode 8 | 2016/09/13 |
3,1 | Xcode 8.3 | 2017/03/27 |
Ditt första Swift-program
Skriv din kod i en fil med namnet hello.swift
:
print("Hello, world!")
- För att kompilera och köra ett skript i ett steg använder du
swift
från terminalen (i en katalog där den här filen finns):
För att starta en terminal trycker du på CTRL + ALT + T på Linux eller hittar den i Launchpad på macOS . För att byta katalog, ange
cd
directory_name
(ellercd ..
att gå tillbaka)
$ swift hello.swift Hello, world!
En kompilator är ett datorprogram (eller en uppsättning program) som omvandlar källkod skriven på ett programmeringsspråk (källspråket) till ett annat datorspråk (målspråket), där den senare ofta har en binär form känd som objektkod. ( Wikipedia )
- För att kompilera och köra separat använder du
swiftc
:
$ swiftc hello.swift
Detta kommer att sammanställa din kod till hello
. För att köra det, ange ./
följt av ett filnamn.
$ ./hello Hello, world!
- Eller använd den snabba REPL (Read-Eval-Print-Loop) genom att skriva
swift
från kommandoraden och sedan ange din kod i tolkaren:
Koda:
func greet(name: String, surname: String) { print("Greetings \(name) \(surname)") } let myName = "Homer" let mySurname = "Simpson" greet(name: myName, surname: mySurname)
Låt oss bryta den stora koden i bitar:
func greet(name: String, surname: String) { // function body }
- skapa en funktion som tar ettname
och ettsurname
.
print("Greetings \(name) \(surname)")
- Detta skrivs ut till konsolen "Hälsningar", sedanname
och sedansurname
. I princip skrivs\(
variable_name
)
ut den variabelns värde.
let myName = "Homer"
ochlet mySurname = "Simpson"
- skapa konstanter (variabler som du inte kan ändra) med hjälp avlet
med namn:myName
,mySurname
och värden:"Homer"
"Simpson"
respektive"Simpson"
.
greet(name: myName, surname: mySurname)
- kallar en funktion som vi skapade tidigare med värden på konstantermyName
,mySurname
.
Kör den med REPL:
$ swift Welcome to Apple Swift. Type :help for assistance. 1> func greet(name: String, surname: String) { 2. print("Greetings \(name) \(surname)") 3. } 4> 5> let myName = "Homer" myName: String = "Homer" 6> let mySurname = "Simpson" mySurname: String = "Simpson" 7> greet(name: myName, surname: mySurname) Greetings Homer Simpson 8> ^D
Tryck på CTRL + D för att avsluta från REPL.
Installera Swift
Ladda ner först kompilatorn och komponenterna.
Lägg sedan till Swift till din väg. På macOS är standardplatsen för den nedladdningsbara verktygskedjan / Library / Developer / Toolchains. Kör följande kommando i terminal:
export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"
På Linux måste du installera clang:
$ sudo apt-get install clang
Om du installerade Swift-verktygskedjan i en annan katalog än systemroten, måste du köra följande kommando med den faktiska sökvägen för din Swift-installation:
$ export PATH=/path/to/Swift/usr/bin:"${PATH}"
Du kan verifiera att du har den aktuella versionen av Swift genom att köra det här kommandot:
$ swift --version
Ditt första program i Swift på en Mac (med en lekplats)
Ladda ner och installera Xcode från Mac-appen från din Mac genom att följa den här länken .
När installationen är klar öppnar du Xcode och väljer Kom igång med en lekplats :
På nästa panel kan du ge din lekplats ett namn eller lämna den MyPlayground
och trycka på Nästa :
Välj en plats där du vill spara lekplatsen och tryck på Skapa :
Lekplatsen öppnas och skärmen ska se ut så här:
Nu när lekplatsen är på skärmen, tryck på ⇧ + cmd + Y för att visa felsökningsområdet .
Slutligen ta bort texten i lekplatsen och skriv:
print("Hello world")
Du bör se "Hello world" i felsökningsområdet och "Hello world \ n" i den högra sidofältet :
Grattis! Du har skapat ditt första program i Swift!
Ditt första program i appen Swift Playgrounds på iPad
Swift Playgrounds-appen är ett bra sätt att komma igång med att koda Swift när du är på språng. För att använda det:
1- Ladda ner Swift Playgrounds för iPad från App Store.
2- Öppna appen.
3- Klicka på + i övre vänstra hörnet på fliken Mina lekplatser och välj sedan Tom mall.
4- Ange din kod.
5- Tryck på Kör min kod för att köra din kod.
6- På framsidan av varje rad lagras resultatet på en liten fyrkant. Tryck på den för att avslöja resultatet.
7- För att gå långsamt igenom koden för att spåra den, tryck på knappen bredvid Kör min kod.
Valfritt värde och valfritt enum
Alternativtyp, som hanterar frånvaron av ett värde. Alternativet säger antingen "det finns ett värde och det är lika med x" eller "det finns inget värde alls".
En valfri är en typ på egen hand, faktiskt en av Swifts nya superdrivna enum. Den har två möjliga värden, None
och Some(T)
, där T är ett tillhörande värde för rätt datatyp som finns i Swift.
Låt oss titta på den här kodkoden till exempel:
let x: String? = "Hello World"
if let y = x {
print(y)
}
Om du lägger till en print(x.dynamicType)
i koden ovan ser du det faktiskt i konsolen:
Optional<String>
Sträng? är faktiskt syntaktiskt socker för valfritt, och valfritt är en typ i sig.
Här är en förenklad version av rubriken till Valfritt, som du kan se genom att klicka på ordet Valfritt i din kod från Xcode:
enum Optional<Wrapped> {
/// The absence of a value.
case none
/// The presence of a value, stored as `Wrapped`.
case some(Wrapped)
}
Valfritt är faktiskt ett enum, definierat i förhållande till en generisk typ Wrapped. Den har två fall: .none
att representera frånvaron av ett värde, och .some
att representera närvaron av ett värde, som är lagrat som dess associerade värde av typen Wrapped.
Låt mig gå igenom det igen: String?
är inte en String
utan en Optional<String>
. Det faktum att Optional
är en typ innebär att det har sina egna metoder, till exempel map
och flatMap
.