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

  

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

  

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

  

[iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01的更多相关文章

  1. iOS Swift-元组tuples(The Swift Programming Language)

    iOS Swift-元组tuples(The Swift Programming Language) 什么是元组? 元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是 ...

  2. iOS Swift-控制流(The Swift Programming Language)

    iOS Swift-控制流(The Swift Programming Language) for-in 在Swift中for循环我们可以省略传统oc笨拙的条件和循环变量的括号,但是语句体的大括号使我 ...

  3. iOS Swift-简单值(The Swift Programming Language)

    iOS Swift-简单值(The Swift Programming Language) 常量的声明:let 在不指定类型的情况下声明的类型和所初始化的类型相同. //没有指定类型,但是初始化的值为 ...

  4. 一群牛人翻译:The Swift Programming Language 中文版

    无聊闲逛GIthub,看到一群牛人在github上创建了一个关于Switf的文档翻译项目 The Swift Programming Language 中文版 项目地址:中文版 Apple 官方 Sw ...

  5. The Swift Programming Language 中文翻译版(个人翻新随时跟新)

    The Swift Programming Language --lkvt 本人在2014年6月3日(北京时间)凌晨起来通过网络观看2014年WWDC 苹果公司的发布会有iOS8以及OS X 10.1 ...

  6. The Swift Programming Language 英文原版官方文档下载

    The Swift Programming Language 英文原版官方文档下载 今天Apple公司发布了新的编程语言Swift(雨燕)将逐步代替Objective-C语言,大家肯定想学习这个语言, ...

  7. The Swift Programming Language 中国版

    iSwifting社会的 Swift 兴趣交流群:303868520 iOS 微信公众账号:iOSDevTip Swift 微信公众账号:SwiftDev iSwifting社区 假设你认为这个项目不 ...

  8. 《The Swift Programming Language》的笔记-第24页

    The Swift Programming Language读书笔记学习笔记 第24页 本页主要内容有两个:打印输出和怎样在swift凝视代码 1 怎样打印变量和常量的值? 使用println函数,细 ...

  9. 下载The Swift Programming Language.mobi版

    下载 The Swift Programming Language.mobi 下载 http://download.csdn.net/detail/swifttrain/7444501

随机推荐

  1. Enterprise Library +Caliburn.Micro+WPF CM框架下使用企业库验证,验证某一个属性,整个页面的文本框都变红的原因

    我用的是CM这个框架做的WPF,在用企业库的验证的时候,我用标签的方式给一个属性加了不能为空的验证,但整个页面的所有控件的外面框都变红了.原因是CM框架的绑定方式是直接X:Name="你的属 ...

  2. iOS开发之网络编程--小文件下载

    文件下载方式: 如果下载的文件比较小,下载方式: 直接用NSData的 +(id)dataWithContentsOfURL:(NSURL*)url; 利用NSURLConnection发送一个HTT ...

  3. 深入理解java虚拟机(6)---内存模型与线程 & Volatile

    其实关于线程的使用,之前已经写过博客讲解过这部分的内容: http://www.cnblogs.com/deman/category/621531.html JVM里面关于多线程的部分,主要是多线程是 ...

  4. APP国际化

    1.app本地内容国际化 ①在项目中新建一个New File ---> iOS Resource -> String File ---> 命名为Localizable(之所以命名为L ...

  5. SQL Server同步复制问题排查方法

    1.应用复制的命令时在订阅服务器上找不到该行 解决方法:用系统存储过程sp_browsereplcmds(返回分发数据库中存储的可读版本复制命令的结果集,并将其用作诊断工具. 此存储过程在分发服务器上 ...

  6. strcat()函数常见问题

    strcat(char *_Destination,const char *_Source)函数的功能是将后一个字符串粘贴到前一个字符串的末尾 原型 char *strcat(char *_Desti ...

  7. linux移植问题汇总(一)

    linux移植问题汇总(一) 在此记录移植linux过程中出现的问题以及解决方法. 项目GitHub地址 linux3.0.80:https://github.com/numbqq/linux-3.0 ...

  8. nyoj 115 城市平乱 dijkstra最短路

    题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=115 dijkstra算法. #include "stdio.h" ...

  9. MAVEN整理(乘国庆还有时间,停下来整理一下)

    昨天写下了这篇博客(http://www.cnblogs.com/hzmark/p/131003Release.html),今天有时间,就这里一下第一篇内容. 换工作公司开发平台: WINDOWS+V ...

  10. POJ 3687 Labeling Balls()

    Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9641 Accepted: 2636 Descri ...