Swift (programovací jazyk): Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Roman3349Bot (diskuse | příspěvky)
m WPCleaner v1.34 - Opraven odkaz na rozcestník - Kompilátor
mBez shrnutí editace
značka: substituovaná šablona
Řádek 1: Řádek 1:
{{Ve výstavbě}}
{{Ve výstavbě}}
{{Cedule
|typ=content
|obrázek=Flickr - Rainbirder - Barn Owl (Tyto alba).jpg
|nadpis=Článek se právě překládá z anglické Wikipedie na webu Duolingo
|text=Článek se právě překládá na webu [[Duolingo]] v rámci kurzu [https://www.duolingo.com/course/en/cs/ Angličtina pro česky mluvící]. Překlad mohou [https://www.duolingo.com/translation/7546b2b37b8134d216dc8b792c9c1b38 editovat] všichni přihlášení uživatelé Duolinga. Po dokončení bude překlad začleněn do této stránky.
|id=underconstruction
}}


{{Infobox programovací jazyk
{{Infobox programovací jazyk

Verze z 27. 10. 2014, 18:55

Šablona:Infobox programovací jazyk

Swift Swift je multi-paradigmatický, kompilovaný programovací jazyk od společnosti Apple určený pro vývoj na platformách Mac OS X a iOS. Je zamýšlen jako alternativa k Objective-C a neměl by dovolit tolik chyb programátora, jako Objective-C. Umí spolupracovat s existujícími Cocoa a Cocoa Touch frameworky. Swift je kompilován pomocí LLWM a ve stejném programu může být spolu s kódem v jazycích C, Objective-C a Objective-C++.[1]

Historie

Vývoj Swiftu započal Chris Lattner roku 2010 a následně se k němu připojili další vývojáři. Mnoho vlastností jazyka bylo převzato z Objective-C, Rust, Haskell, Ruby, Python, C#, CLU a mnoha dalších.[2] 2. června 2014 byl jazyk zveřejněn na WWDC konferenci,[3] spolu s dokumentací dostupnou na vývojářských stránkách Applu a v iBooks Store.[4]

Vlastnosti

Porovnání s Objective-C

Podobné vlastnosti

  • Základní číselné typy (Int, UInt, Float, Double)
  • Většina operátorů z C je i ve Swiftu, jsou ale přidány i nové.
  • Složené závorky jsou použity pro seskupení příkazů.
  • Proměnné jsou přiřazeny pomocí = a porovnány pomocí ==. Nový operátor === ověří, jestli se jedná o stejný objekt.
  • Hranaté závorky jsou použity u polí pro deklaraci i získání hodnoty pole.
  • for, while, if, switch jsou podobné, mají ale rozšířenou funkcionalitu. Například for in iteruje přes kolekci nebo switch s case, které nejsou číslem.
  • Třídní metody jsou zděděné, stejně jako metody instancí.

Rozdílné vlastnosti

Ukázka kódu

// Toto je komentář na jednom řádku

/* toto je komentář
   napsaný na více řádcích */

/* Víceřádkové komentáře
   /* mohou být vnořeny! */
   takže je možné zakomentovat kód, který obsahuje komentáře
*/

// Proměné ve Swiftu začínají na "var", následovány jménem, typem a hodnotou
var explicitDouble: Double = 70

// Pokud je typ vynechán, bude použit typ výchozí hodnoty
var implicitInteger = 70
var implicitDouble = 70.0
var  = "日本"

// Konstanty jsou definovány pomocí "let, následovány jménem, typem a hodnotou
let numberOfBananas: Int = 10

//Pokud je typ vynechán, bude použit typ výchozí hodnoty
let numberOfApples = 3
let numberOfOranges = 5

// Hodnoty proměnných mohou být použity v řetězcích následujícím způsobem
let appleSummary = "Mám \(numberOfApples) jablek."
let fruitSummary = "Mám\(numberOfApples + numberOfOranges) kusů ovoce."

// in playgrounds, code can be placed in the global scope
println("Hello, world")

// definice pole
var fruits = ["mango", "kiwi", "avocado"]

// ukázka if podmínky
if fruits.isEmpty {
    println("No fruits in my array.")
} else {
    println("There are \(fruits.count) items in my array")
}

//definice slovníky se jménem a věkem
let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25]

// ukázka získání více hodnot v jednom průběhu iterace
for (name, age) in people {
    println("\(name) is \(age) years old.")
}

// funkce a medoty jsou definovány pomocí "func"
// návratový typ je definován pomocí ->
func sayHello(personName: String) -> String {
    let greeting = "Ahoj, " + personName + "!"
    return greeting
}

// vytiskne "Ahoj, Jane!"
println(sayHello("Jane"))

// parameter names can be made external and required for calling
// the external name can be the same as the parameter name by
// prefixing with an octothorpe (#)
// or can be defined separately.
func sayAge(#personName: String, personAge Age: Int) -> String {
    let result = "\(personName) is \(Age) years old."
    return result
}

//Je také možné specifikovat jméno parametru
println(sayAge(personName: "Jane", personAge: 42))

Související články

Reference

  1. TIMMER, John. A fast look at Swift, Apple's new programming language [online]. [cit. 2014-06-06]. A fast look at Swift, Apple’s new programming language Dostupné online. 
  2. LATTNER, Chris. Chris Lattner's Homepage [online]. Chris Lattner, June 3, 2014 [cit. 2014-06-03]. Dostupné online. 
  3. WILLIAMS, Owen. Apple announces Swift, a new programming language for iOS [online]. The Next Web, June 2, 2014 [cit. 2014-06-02]. Dostupné online. 
  4. The Swift Programming Language. [s.l.]: Apple, June 2, 2014. Dostupné online. 
  5. Chybná citace: Chyba v tagu <ref>; citaci označené swift blog není určen žádný text