資源描述:
《Swift從入門到精通.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Swift是什么?Swift是蘋果于WWDC2014發(fā)布的編程語言,這里引用TheSwiftProgrammingLanguage的原話:SwiftisanewprogramminglanguageforiOSandOSXappsthatbuildsonthebestofCandObjective-C,withouttheconstraintsofCcompatibility.Swiftadoptssafeprogrammingpatternsandaddsmodernfeaturestomakepr
2、ogrammingeasier,moreflexibleandmorefun.Swift’scleanslate,backedbythematureandmuch-lovedCocoaandCocoaTouchframeworks,isanopportunitytoimaginehowsoftwaredevelopmentworks.Swiftisthefirstindustrial-qualitysystemsprogramminglanguagethatisasexpressiveandenjoy
3、ableasascriptinglanguage.簡單的說:1Swift用來寫iOS和OSX程序。(估計(jì)也不會支持其它屌絲系統(tǒng))2Swift吸取了C和Objective-C的優(yōu)點(diǎn),且更加強(qiáng)大易用。3Swift可以使用現(xiàn)有的Cocoa和CocoaTouch框架。4Swift兼具編譯語言的高性能(Performance)和腳本語言的交互性(Interactive)。Swift語言概覽基本概念注:這一節(jié)的代碼源自TheSwiftProgrammingLanguage中的ASwiftTour。Hello,wo
4、rld類似于腳本語言,下面的代碼即是一個(gè)完整的Swift程序。1println("Hello,world")變量與常量Swift使用var聲明變量,let聲明常量2varmyVariable=423myVariable=504letmyConstant=42類型推導(dǎo)Swift支持類型推導(dǎo)(TypeInference),所以上面的代碼不需指定類型,如果需要指定類型:5letexplicitDouble:Double=70Swift不支持隱式類型轉(zhuǎn)換(Implicitlycasting),所以下面的代碼需
5、要顯式類型轉(zhuǎn)換(Explicitlycasting):6letlabel="Thewidthis"7letwidth=948letwidth=label+String(width)字符串格式化Swift使用(item)的形式進(jìn)行字符串格式化:9letapples=310letoranges=511letappleSummary="Ihave(apples)apples."12letappleSummary="Ihave(apples+oranges)piecesoffruit."數(shù)組和字典Swi
6、ft使用[]操作符聲明數(shù)組(array)和字典(dictionary):13varshoppingList=["catfish","water","tulips","bluepaint"]14shoppingList[1]="bottleofwater"1516varoccupations=[17"Malcolm":"Captain",18"Kaylee":"Mechanic",1]2occupations["Jayne"]="PublicRelations"一般使用初始化器(initializer)
7、語法創(chuàng)建空數(shù)組和空字典:3letemptyArray=String[]()4letemptyDictionary=Dictionary()如果類型信息已知,則可以使用[]聲明空數(shù)組,使用[:]聲明空字典??刂屏鞲庞[Swift的條件語句包含if和switch,循環(huán)語句包含for-in、for、while和do-while,循環(huán)/判斷條件不需要括號,但循環(huán)/判斷體(body)必需括號:1letindividualScores=[75,43,103,87,12]2varteamS
8、core=03forscoreinindividualScores{4ifscore>50{5teamScore+=36}else{7teamScore+=18}9}可空類型結(jié)合if和let,可以方便的處理可空變量(nullablevariable)。對于空值,需要在類型聲明后添加?顯式標(biāo)明該類型可空。10varoptionalString:String?="Hello"11optionalString==nil1213varoptionalName:S