Swift Language Guide 1 - The Basics Flashcards
Jakym klicovym slovem se deklaruje konstanta?
Let.
let x = 10
Jakym klicovym slovem se deklaruje promenna?
Var.
var x = 10
Jak lze deklarovat vice konstant nebo promennych na jednom radku?
Oddelime je od sebe carkou.
var x = 1, y = 2, z = 3
Co je to typova anotace?
Specifikuje jakeho typu je konstanta nebo promenna.
var number: Int = 10
Jake znaky nemuze obsahovat nazev konstanty nebo promenne?
Bile znaky, matematicke symboly, sipky, invalid Unicode znaky, line a box-drawing znaky, cislici pokud jde o prvni znak.
Lze znova redeklarovat konstantu nebo promennou se stejnym nazvem?
Ne.
Jak se da dat konstante nebo promenne nazev, ktery se shoduje s klicovym slovem Swiftu?
Takovy nazev obklopime znakem ( ` ).
let var
= 10
Jaky je rozdil mezi println a print?
Println vytiskne zpravu a zalomi radek, print pouze vytiskne zpravu.
Co je to string interpolation?
Je to zpusob jak vlozit hodnotu konstanty nebo promenne do retezce.
println(“Hello (myName)”)
Muze ve Swiftu byt komentar vnoreny do jineho komentare?
Ano.
Kdy je nutne ve Swiftu pouzivat strednik?
Kdyz na jednom radku je vic prikazu.
let myNumber = 10; println(myNumber)
V jakych bitovych formach muzou byt ve Swiftu cela cisla?
V 8, 16, 32, 64 bitech.
Jak se zjisti minimum a maximum 8 bitoveho neznamenkoveho celociselneho typu?
S pomoci property min a max.
let minimum = UInt8.min
let maximum = UInt8.max
Na cem zalezi kolik ma Int a UInt bitu?
Na tom kolik ma bitu platforma. Pokud je 64 bitova jsou Int i UInt 64 bitove, pokud 32 bitova, jsou oba take 32 bitove.
Jaky je rozdil mezi Double a Float?
Double ma 64 bitu a presnost alespon 15 pozic.
Float ma 32 bitu a presnost alespon 6 pozic.
Co je typove bezpecny jazyk?
Dovoluje priradit pouze hodnotu konkretniho typu.
Co je typove odvozeni?
Datovy typ se odvodi podle hodnoty, ktera je mu prirazena.
Co je to literal?
Je to hodnota, ktera je primo ve zdrojovem kodu.
let myAge = 10
Pri typovem odvozeni, co ma prednost Double nebo Float?
Double.
V jakych ciselnych soustavach mohou byt psany celociselne literaly?
V desitkovych bez predpony.
let a = 17
Ve dvojkove s predponou 0b.
let b = 0b10001
V osmickove s predponou 0o.
let c = 0o21
V sestnackove s predponou 0x.
let d = 0x11
V jakych ciselnych soustavach mohou byt psany literaly cisel s pohyblivou desetinnou carkou?
V desitkove bez predpony nebo v sestnackove s predponou 0x.
let decimalDouble = 12.1875
let hexadecimalDouble = 0xC.3p0
Jak se provadi typova konverze?
Konstantu nebo promennou obklopime kulatymi zavorku a pred ni napiseme pozadovany typ.
let myDoubleNumber = Double(integerNumber)
Pokud pouzijeme ciselny literal, je pripadne nutna typova konverze?
Ne.
Co je to typovy alias a jak se deklaruje?
Predstavuje alternativni zpusob reprezentace exitujiciho datoveho typu. Deklaruje se pomoci klicoveho slova typealias.
typealias AudioSample = UInt16
Jake hodnoty muze mit typ Boolean?
True nebo false.
Co je to tuple?
Je to datovy typ, ktery prijima vice hodnot a uklada je do jedne slozene hodnoty.
let http404Error = (404, “Not Found”)
Muze mit tuple hodnoty s odlisnymi typy?
Ano.
Pokud nechceme kazdemu prvku tuplu davat nazev, jak toho docilime?
Napiseme na jeho miste znak ( _ ).
let (justTheStatusCode, _) = http404Error
Jak muzeme pristupovat k prvkum tuplu?
Pomoci nazvu prvku nebo pomoci indexu.
let (justTheStatusCode, _) = http404Error
let a = http404Error.0
let b = justTheStatusCode
Kdy se pouziva optional?
Kdykoliv pokud v konstante nebo promenne muze byt ale take nemusi byt hodnota.
Co dela metoda toInt tridy String?
Je-li mozno, tak prevadi String hodnotu na Int hodnotu. Protoze to neni vzdy zarucene, metoda toInt vraci optional Int.
Co je to nil?
Je to specialni hodnota pouze pro optionaly, ktera rika, ze konstanta nebo promenna nema hodnotu.
Na jakou hodnotu jsou automaticky nastaveny optionaly urciteho typu, pokud jim nejsou prirazena vychozi hodnota?
Nil.
Co je to forced unwrapping?
Zpusob jak rici, ze v konstante nebo promenne urcite je hodnota a muzeme ji pouzit. Syntaxe je ( ! ), ktery se vklada za konstantou nebo promennou.
println(convertedNumber!)
Co je to optional binding?
Je to zpusob jak konstante nebo promenne priradit hodnotu nejakeho optionalu, pokud tento optional hodnotu ma. Pouziva se s if nebo while prikazem.
if let actualNumber = possibleNumber.toInt() {
}
Co je to implicitly unwrapped optional?
Implicitly unwrapped optional nam dava moznost pracovat s optionalem jako s beznou konstantou nebo promennou. Pri inicializaci muze mit nil nebo hodnotu, ale jakmile je mu prirazena hodnota, chova se, jako kdyby bylo jiste, ze po zbytek chodu programu bude mit stale hodnotu a nil uz neni moznosti. Pouziva se s (!) za konstantou nebo promennou.
let possibleString: String? = “An optional string.”
let forcedString: String = possibleString!
Co je to assertion a jakou ma syntaxi?
Assertion dava moznost ukoncit program, pokud neni splnena nutna podminka. Jeji syntaxe je assert.
let age = -3
assert(age >= 0, “A person’s age cannot be less than zero”)