国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[iOS翻譯]《TheSwiftProgrammingLanguage》系列:WelcometoSwift-01

2019-11-14 20:26:51
字體:
來源:轉載
供稿:網友

注:CocoaChina翻譯小組已著手此書及相關資料的翻譯,樓主也加入了,多人協作后的完整譯本將很快讓大家看到。

翻譯群:291864979,想加入的同學請進此群哦。(本系列不再更新,但協作翻譯的進度我會在留言里更新,謝謝大家支持!)

截止至6月4日21:52,本書第一章已翻譯完成,其他各個章節均有小組成員認領翻譯。

大家可以到CocoaChina關注相關信息,或直接到Git Hub看到最新進度:https://github.com/CocoaChina-editors/Welcome-to-Swift

 

全書目錄:

一、Welcome to Swift

二、Language Guide

三、Language Reference

 

/*

譯者的廢話:

幾個小時前熬夜看了WWDC,各種激動,今年很有料啊!當看到Swift出來的時候,瞬間傻眼,又要學習新語言了。這篇文章來自蘋果官方的《The Swift PRogramming Language》一書,500頁左右,在蘋果官網有下載。Swift大家都沒實際用過,本翻譯一定是有各種錯漏的,各位多多包涵,我會不斷更新修正的。

——(博客園、新浪微博)葛布林大帝

*/

 

一、Welcome to Swift

1.關于Swift

  Swift是一種用于iOS和OS X應用的全新編程語言,它建立在最好的C和Objective-C語言中,并且沒有C語言的兼容性限制。Swift采用安全的編程模式,增加了現代功能使編程更容易、更靈活、更有趣。Swift背靠成熟且備受寵愛的Cocoa 和 Cocoa Touch框架的支持,這是一個重新構想軟件開發的機會。

  Swift經過了數年的醞釀,Apple通過改進現有的編譯器、調試器和框架結構奠定了Swift的基礎,并通過Automatic Reference Counting(ARC)簡化了內存管理。Swift的framework stack建立在堅實的Foundation和Cocoa上,實現了現代化和徹底標準化。 Objective-C本身已經逐步發展到到支持blocks、 collection literals 和modules,使框架不間斷的采用現代語言技術。

  由于這個基礎,我們可以為今后的Apple軟件發展引入一種新語言。

  對Objective-C開發者來說Swift看起來會很熟悉,它具有Objective-C的參數命名易讀性和動態對象模型的力量,提供了無縫接入現有Cocoa框架和與Objective-C混編的能力。基于這個共同點,Swift引入了許多新的特性、統一的程序和面向對象的語言部分。

   Swift對于新程序員是友好的,作為一個具有表現力和娛樂性的腳本語言,它是第一個獲得工業品質的系統編程語言。它支持playgrounds,一個允許程序員調試Swift代碼并立即看到結果,而無需反復編譯運行程序的新功能。

   Swift結合了最好的現代語言思維和智慧 - 來自廣大的蘋果工程師文化。編譯器針對性能進行了優化,語言也進行了發展優化,而無需任何犧牲。它的設計從“Hello World”擴展到整個操作系統,這一切使得Swift對于開發者和Apple是一個有意義的投資。

   Swift以極好的方式來編寫iOS和OS X應用,并將繼續發展新特性和功能。Swift充滿野心,我們已經迫不及待看你能用它創造什么。

 

2.Swift概覽

  按照慣例,新語言的第一個程序應在屏幕上輸出“Hello, World”。在Swift里,這只需要一行來完成。 

  

  如果你寫過C或Objective-C代碼,這個語法看起來會很熟悉 —— 在Swift里,這行代碼是一個完整的程序,你不需要為input/output或字符串處理等功能導入一個單獨的庫。所有范圍內的代碼都作為程序入口點,所以你不需要main函數,也不必在每個語句的末尾寫分號。
  這次概覽通過完成各種編程任務,來給你足夠的信息學習編寫Swift代碼。如果你有不明白的地方,不要擔心,一切細節都會在本書后面詳細解釋。

   注:為獲得最佳體驗,在Xcode里把本章作為一個playground打開,playground允許你編輯代碼清單,并立即看到結果。

 

2.1.簡單值

  使用let創建一個常量,var創建一個變量。一個常量的值并不需要在編譯時已知,但你必須給它分配一次值,這意味著您可以使用常量來命名一個你決定在多處使用的值。

  

  常量或變量必須與你分配給它的值擁有相同的類型,然而,你并不總是必須明確寫出類型。當您創建一個常量或變量并分配一個值時,可以讓編譯器推斷出其類型。在上面的示例中,編譯器推斷出myVariable是整數,因為它的初始值是一個整數。

 

  如果初始值沒有提供足夠的信息(或者如果沒有初始值),可以在變量后類型,用冒號隔開。

  

  試驗:創建一個常數,明確為float類型,值為4

 

  值永遠不會隱式轉換為另一種類型。如果你需要一個值轉換為不同的類型,明確地創建一個所需類型的實例。

  

  試驗:嘗試從最后一行除去String的轉換,你得到了什么錯誤?

 

  還有一個更簡單的方法包含字符串值:把值寫在括號中 ,并在括號前寫一個反斜線(/)。例如:

  

  試驗:使用(/),在一個string里包含一個浮點計算,并在一個greeting里包含某個人的名字。

 

  使用方括號([])創建數組和字典,并在括號中寫出index和key來訪問它們的元素。

   

 

  要創建一個空數組或字典,使用初始化語法。

   

 

  如果類型信息可以推斷,你可以寫一個空數組為[]和一個空字典為[:] ——例如,當你設置一個變量的新值或參數傳遞給函數。

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 壤塘县| 醴陵市| 麻城市| 甘南县| 荣昌县| 榆社县| 临西县| 兴化市| 崇阳县| 福清市| 昌乐县| 从江县| 兴城市| 西昌市| 灵宝市| 南和县| 峨边| 抚顺市| 栾城县| 龙州县| 皋兰县| 罗城| 双鸭山市| 雷波县| 普宁市| 荣成市| 吉木萨尔县| 永德县| 涡阳县| 买车| 石屏县| 万全县| 台中县| 南通市| 股票| 措美县| 犍为县| 卢氏县| 玉山县| 德兴市| 长垣县|