[iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01

注:CocoaChina翻译小组已着手此书及相关资料的翻译,楼主也加入了,多人协做后的完整译本将很快让你们看到。git

翻译群:291864979,想加入的同窗请进此群哦。(本系列再也不更新,但协做翻译的进度我会在留言里更新,谢谢你们支持!)程序员

截止至6月4日21:52,本书第一章已翻译完成,其余各个章节均有小组成员认领翻译。github

你们能够到CocoaChina关注相关信息,或直接到Git Hub看到最新进度:https://github.com/CocoaChina-editors/Welcome-to-Swift编程

 

全书目录:数组

1、Welcome to Swift安全

2、Language Guide框架

3、Language Reference编程语言

 

/*ide

译者的废话:函数

几个小时前熬夜看了WWDC,各类激动,今年颇有料啊!当看到Swift出来的时候,瞬间傻眼,又要学习新语言了。这篇文章来自苹果官方的《The Swift Programming Language》一书,500页左右,在苹果官网有下载。Swift你们都没实际用过,本翻译必定是有各类错漏的,各位多多包涵,我会不断更新修正的。

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

*/

 

1、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来访问它们的元素。

   

 

  要建立一个空数组或字典,使用初始化语法。

   

 

  若是类型信息能够推断,你能够写一个空数组为[]和一个空字典为[:] ——例如,当你设置一个变量的新值或参数传递给函数。

  

相关文章
相关标签/搜索