Swift fra Scratch: variabler og konstanter
42
Del
11
Del
Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av
Dette innlegget er en del av en serie som heter Swift fra Scratch.Swift fra Scratch:. IntroductionSwift fra Scratch: Samlinger og tupler
I den første artikkelen av Swift fra Scratch, lærte du om Xcode lekeplasser og skrev de første linjene av Swift. I denne artikkelen, begynner vi å lære det grunnleggende av Swift programmeringsspråk ved å utforske variabler og skrive. Vi vil også ta en nærmere titt på konstanter og hvorfor du oppfordres til å bruke dem så mye som mulig.
I de neste avdrag av denne serien, vi kommer til å gjøre bruk av Xcode lekeplasser å lære det grunnleggende av Swift programmeringsspråk. Som vi har sett i den forrige artikkelen, lekeplasser er ideelle for undervisning og læring Swift.
La oss begynne med å lage en ny lekeplass for denne opplæringen, og jeg oppfordrer deg til å følge med. Ved hjelp av et språk er en fin måte å lære sin syntaks og forstå sine konsepter
Launch Xcode 6+ og opprette en ny lekeplass ved å velge New >.; Lekeplass ... fra Xcode Fil-menyen. Skriv inn et navn på lekeplassen, satt Platform til iOS, og klikk på Neste. Fortell Xcode hvor du ønsker å lagre på lekeplassen og traff Opprett.
Slett innholdet i skolegården, slik at vi kan starte med blanke ark. Vi har allerede gjort bruk av variabler i forrige tutorial, men la oss nå ta en nærmere titt på de kjedelige detaljer for bedre å forstå hva Swift gjør bak kulissene.
1. Variabler
erklærte variabler
I Swift, vi bruker du VAR nøkkelord for å erklære en variabel. Selv om dette er lik hvordan variabler deklareres i andre programmeringsspråk, jeg sterkt anbefale deg å ikke tenke på andre programmeringsspråk når du bruker Var nøkkelord i Swift. Det er noen viktige forskjeller.
VAR søkeordet er den eneste måten å deklarere en variabel i Swift. Den vanligste og konsis bruk av Var nøkkelordet er å erklære en variabel og tilordne en verdi til det.
Var street = "5th Avenue"
Husk at vi ikke ender denne linjen med kode med et semikolon. Mens et semikolon er valgfritt i Swift, er den beste praksis å ikke bruke semikolon hvis det ikke er nødvendig.
Du kan også lagt merke til at vi ikke spesifisere en type når erklære variabelen gaten. Dette bringer oss til en av Swift viktigste funksjoner, skriver slutning.
Type Inference
Ovennevnte uttalelse erklærer en variabel gate og tildeler verdien 5th Avenue til det. Hvis du er ny til Swift eller du er vant til Javascript eller PHP, så du kan være å tenke at Swift er en typeless eller løst skrevet språk, men ingenting kunne være lengre fra sannheten. La meg gjenta at Swift er et sterkt skrevet språk. Type sikkerhet er en av hjørnesteinene i språket.
Vi er nettopp kommet i gang, og Swift viser oss allerede litt av sin magi. Selv om ovennevnte uttalelse ikke eksplisitt angi en type, er den variable gate av type String. Dette er Swifts typen slutning i aksjon. Verdien vi gir gaten er en streng. Swift er smart nok til å se det, og implisitt setter type gaten til String.
Følgende uttalelse gir oss det samme resultatet. Forskjellen er at vi eksplisitt angi hvilken type variabelen. Ovennevnte uttalelse bokstavelig sier at gaten er av type Swift krever at du eksplisitt eller implisitt angi hvilken type variabler og konstanter. Hvis du ikke gjør det, vil Swift klage ved å kaste en feil. Legg til følgende linje i din lekeplass for å se hva jeg mener. Denne uttalelsen ville være helt gyldig i PHP eller Javascript. I Swift, men det er ugyldig. Grunnen til dette er enkel. Selv om vi erklære en variabel bruke Var søkeord, har vi ikke spesifisere variabel type. Swift er ute av stand til å antyde hvilken type siden vi ikke tilordne en verdi til variabelen. Hvis du klikker på feil, vil Xcode fortelle deg hva som er galt med denne uttalelsen. Vi kan lett fikse dette problemet ved å gjøre ett av to ting. Vi kan tilordne en verdi til variabelen som vi gjorde tidligere, eller vi kan eksplisitt angi en type for variabelt antall. Ved eksplisitt å sette type nummer, forsvinner feilen. Den under kodelinje leser at antallet er av typen String Som du kan se nedenfor, tildele nye verdier til gate og nummer er enkel og medfører ingen overraskelser Ville det ikke være enklere å tildele nummer 10 til nummer variabel. Det er ikke nødvendig å lagre gatenummer som en streng. La oss se hva som skjer hvis vi gjør Hvis vi tilordner et tall til tall, vil Xcode kaste en annen feil på oss . Dessverre, denne gangen feilmeldingen er ikke spesielt nyttig. Grunnen Xcode kaster en feil er at vi prøver å tilordne et tall til en variabel av typen String. Dette er ikke et problem i løst skrevet språk, men det er i Swift. Swift er et sterkt skrevet språk som hver variabel har en bestemt type og denne typen kan ikke endres. Les denne setningen en gang til å la det synke inn, fordi dette er et viktig begrep i Swift. For å bli kvitt feilen, må vi erklære antall variable som en Int. Ta en titt på den oppdaterte eksempelet nedenfor Det er viktig at du holder følgende i tankene. Du kan erklære en variabel med Var søkeord og du trenger ikke å eksplisitt deklarere variabelen type. Men husk at hver variabel og konstant har en type i Swift. Hvis Swift ikke kan antyde hvilken type, så vil det klage. Hver variabel har en type og denne typen kan ikke endres. konstanter er lik variabler i form av å skrive. Den eneste forskjellen er at verdien av et konstant ikke kan endres når den har en verdi. Verdien av en konstant er ... vel ... konstant. Å erklære en konstant, du bruker utleid søkeord. Ta en titt på følgende eksempel der erklærer vi gate som en konstant i stedet for en variabel Hvis bare vi oppdatere den første linjen, ved å erstatte VAR med la, kaster Xcode en feil for åpenbare grunner. Prøver å endre verdien av en konstant er ikke tillatt i Swift. Fjern eller kommentere ut linjen der vi prøver å tildele en ny verdi til gaten for å bli kvitt feilen. Jeg håper du enig i at å erklære konstanter er veldig lett i Swift . Det er ikke behov for eksotiske søkeord eller en kompleks syntaks. Erklærte konstanter er like enkelt som å erklære variabler, og det er ikke en tilfeldighet. Bruk av konstantene blir oppmuntret i Swift. Hvis en verdi ikke kommer til å endre eller du ikke forvente at det skal endre seg, så det bør være en konstant. Dette har en rekke fordeler. En av fordelene er ytelse, men en mer viktig fordel er sikkerhet. Ved å bruke konstanter når det er mulig, legger du begrensninger i koden, og som vil føre til sikrere kode. De fleste programmeringsspråk har et bredt spekter av typer for lagring av strenger, heltall, flyter, etc. De tilgjengelige typer i Swift er begrenset. Ta en titt på følgende list. It's viktig å forstå at de ovennevnte typer er ikke grunnleggende eller primitive typer. De er oppkalt typer, som er iverksatt av Swift bruker strukturer. Vi vil utforske strukturer i mer detalj senere i denne serien, men det er godt å vite at de typene vi har sett så langt er ikke det samme som de primitive typene du kan ha brukt i, for eksempel, Objective-C. Det er mange andre datatyper i Swift, som tupler, arrays, og, ordbøker, og vi vil utforske de litt senere i denne serien. Det er ett mer tema som vi må diskutere, type konvertering. Ta en titt på følgende Objective-C biten. Denne koden blokken vil produksjonen verdien 314.000000 til konsollen The Objective-C runtime vil implisitt konvertere en til en flytende poengverdi og multiplisere det med b. La oss omskrive ovenfor kodebiten bruker Swift. Ignorer println funksjon for nå. Første gang jeg ønsker å fokusere på multiplikasjon av a og b. Swift konkluderer den typen en, en Int, og b, en dobbel. Men når den prøver å formere a og b, merker det at de ikke er av samme type. Dette kan ikke virke som et problem for deg, men det er for Swift. Swift vet ikke hva slags resultat av dette multiplikasjon bør være. Skal det være et heltall eller en dobbel. For å løse dette problemet, må vi sørge for at begge operander av multiplikasjon er av samme type, fordi Swift ikke implisitt konvertere operander for oss. Det finnes en rekke globalt tilgjengelige hjelpefunksjoner som gjør denne oppgaven trivielt. I den oppdaterte eksempelet nedenfor, vi kaller dobbel på variabelen a til å konvertere sin verdi en dobbel. Dette løser feilen. Legg merke til at den typen en ikke har endret seg. Selv om de ovennevnte kodebiten kan se ut som type casting, er det ikke det samme. The Double funksjonen tar verdien av en, returnerer sin verdi som en dobbel, og at resultatet er brukt i multiplikasjon med b. Resultatet er av type Double. Hva du trenger å huske er at Swift er forskjellig fra C og Objective-C. Det betyr ikke implisitt konvertere verdier av variabler og konstanter. Dette er et annet viktig begrep å forstå. I forrige kodebiten, vi påkalte vår første funksjonen, println. Println funksjonen er svært lik Objective-C er NSLog, det skrives noe, og føyer til en ny linje. Swift standard Biblioteket inneholder også en utskriftsfunksjon, som gjør akkurat det samme som den println funksjon, men ikke legge til en ny linje. For å skrive ut noe, du bare påberope println og gi det et parameter. Dette kan være en variabel, en konstant, et uttrykk, eller en bokstavelig. Ta en titt på følgende eksempler. Det er også mulig å bruke string interpole å kombinere variabler, konstanter, uttrykk og litteraler. String interpolering er svært enkelt i Swift, bare pakk de variabler, konstanter, uttrykk eller litteraler i \\ (). Lett som en plett. Hvis du er interessert i å ta din Swift utdanning til neste nivå, kan du ta en titt på vår fulle kurs på Swift utvikling. Denne prøven leksjonen går inn i en litt mer detalj på variabler og konstanter, og hvordan tildele minne for lagring av ulike typer data. Det er nøkkelen at du forstår hvordan Swift håndterer variabler og konstanter. Selv om det kan ta litt tid å bli vant til begrepet konstanter, når du har omfavnet denne beste praksis vil koden bli mye tryggere og lettere å forstå. I neste opplæringen av denne serien, vi fortsetter vår utforskning av Swift ved å se på samlinger.
String
Var gate. String = "5th Avenue"
Var nummer
Var Nummer:. String
Endre Skriv
Var gate:. String = "5th Avenue" var nummer: Stringstreet = "Main Street" nummer = "10"
Var gate. String = "5th Avenue" var nummer: Stringstreet = "Main Street" nummer = 10
Var gate. String = "5th Avenue" var nummer: Intstreet = "Main Street" nummer = 10
Sammendrag
2. Konstanter
erklære konstanter
la gaten. String = "5th Avenue" var nummer: Intstreet = "Main Street" nummer = 10
Bruke konstanter
3. Datatyper
Int
Float
Double
String
Character
Bool
4. Type Conversion
int a = 100;. Float b = 3,14; NSLog (@ "% f", (a * b));
Var en = 100var b = 3.14println (a * b)
Var en = 100var b = 3.14println (Double (a) * b)
5. Skriv ut Linje
Var string = "Dette er en streng" la konstant = 3.14println (string) println (konstant) println (10 * 50) println ("streng bokstavelig")
La gate = "5th Avenue" la nummer = 10println ("Hun bor på \\ (gate) \\ (nummer).")
Les mer i vår Swift Programmering Course
Konklusjon