The Swift Programming Language 中文翻译版
原文(http://www.cnblogs.com/lkvt/p/3765349.html)
一、Welcome to Swift
1.关于Swift
Swift是一种用于iOS和OS X应用的全新编程语言,它建立在最好的C和Objective-C语言中。而且没有C语言的兼容性限制。Swift採用安全的编程模式。添加了现代功能使编程更easy、更灵活、更有趣。
Swift背靠成熟且备受宠爱的Cocoa 和 Cocoa Touch框架的支持,这是一个又一次构想软件开发的机会。
Swift经过了数年的酝酿,Apple通过改进现有的编译器、调试器和框架结构奠定了Swift的基础,并通过Automatic Reference Counting(ARC)简化了内存管理。Swift的框架建立在坚实的Foundation和Cocoa上。已实现现代化和彻底标准化。 Objective-C本身已经逐步发展到到支持blocks、 collection literals 和modules,使框架採用不中断的现代语言技术。感谢这个基础,我们能够为Apple软件发展的未来引入一种新语言。
对Objective-C开发人员来说Swift看起来非常熟悉,它具有Objective-C命名參数的可读性和动态对象模型的力量。提供了无缝接入现有Cocoa框架和与Objective-C混编的能力。建立在这个共同点上。Swift引入了很多新的特性、统一的程序和面向对象的语言部分。
Swift对于新程序猿是友好的。作为一个具有表现力和娱乐性的脚本语言,它是第一个获得工业品质的系统编程语言。
它支持playgrounds,一个同意程序猿调试Swift代码并马上看到结果。而无需重复编译执行程序的新功能。
Swift结合了最好的现代语言思维和智慧 - 来自广大的苹果project师文化。编译器针对性能进行了优化。语言也进行了发展优化,而无需不论什么牺牲。它的设计从“Hello World”扩展到整个操作系统,这一切使得Swift对于开发人员和Apple是一个有意义的投资。
Swift以极好的方式来编写的iOS和OS X应用。并将继续发展与新特性和功能。
Swift充满野心,我们已经迫不及待看你能用它创造什么。
2.Swift概览
传统建议新语言的第一个程序应该打印“Hello, World”在屏幕上,但在Swift里,这仅仅须要一行来完毕。
println("Hello,World")
假设你在C或Objective-C语言编写过代码。这个语法看起来会非常熟悉 —— 在Swift里,这行代码是一个完整的程序,你不须要为input/output或字符串处理等功能导入一个单独的库。写在全球范围的代码都作为函数的入口点。所以你并不须要一个main函数,也不必在每一个语句的末尾写分号。
这次概览通过展示怎样完毕各种程序任务来给你足够的信息開始编写Swift代码。假设你不明确的地方,不要操心,这个概览里的一切细节都会在本书后面详解。
注:为获得最佳体验。在Xcode里把本章作为一个playground打开,playground同意你编辑代码清单,并马上看到结果。
2.1.简单值
使用let创建一个常量,var创建一个变量。一个常量的值并不须要在编译时是已知的,但你必须给它分配一个值一次。这意味着您能够使用常量来命名一个你决定在很多地方使用的值。
var myVariable = 42
myVariable = 50
let myConstant = 42
常量或变量必须有同样的类型。你要分配给它的值。然而,你并不总是必须明白写出类型。提供一个值,当您创建一个常量或变量能够让编译器判断出其类型。在上面的演示样例中,编译器判断出myVariable是整数,由于它的初始值是一个整数。
假设初始值没有提供足够的信息(或者假设没有初始值)。能够在改变后制定类型,用冒号隔开。
let implicitInterger = 70
let implicitDouble =70.0
let explicitDouble: Double = 70
试验:创建一个常数,明白为float类型。而且值为4
值永远不会绝对转换为还有一种类型。
假设你须要一个值转换为不同的类型,明白地创建一个所需类型的实例。
let label = "The Width Is"
let width = 94
let widthLable = lable + String(width)
试验:尝试从最后一行除去String的转换。你得到了什么错误?
另一个更简单的方法包括字符串值:把值写在括号里 ,并在括号前写一个反斜线(\)。比如:
let apples = 3
let oranges = 5
let appleSummary = "I hava \(apples) apples."
let fruitSummary = "I have \(appel + oranges) pieces of fruit."
试验:使用(\),在一个string里包括一个浮点计算。并在一个greeting里包括某个人的名字。
使用方括号([])创建数组和字典,并在括号里写出index和key来訪问它们的元素。
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
要创建一个空数组或字典。使用初始化语法。
let emptArry = String[]()
let emptDictionary = Dictionary<String, Float>()
假设类型信息能够判断,你能够写一个空数组为[]和一个空字典为[;] ——比如,当你设置一个变量的新值或參数传递给函数。
shoppingList = []
itunes链接: mt=11" target="_blank" class="gj_safe_a" style="word-wrap:break-word; color:rgb(73,123,137); font-family:Tahoma,'Microsoft Yahei',Simsun; font-size:14px; line-height:21px">https://itunes.apple.com/us/book mt=11
... e/id881256329?
epub版本号下载:http://pan.baidu.com/s/1ntJnbc9 .
鐗涗汉浜戦泦,涓€浜╀笁鍒嗗湴
calibre下载(可在PC看epub):http://calibre-ebook.com/download
The Swift Programming Language 中文翻译版的更多相关文章
- The Swift Programming Language 中文翻译版(个人翻新随时跟新)
The Swift Programming Language --lkvt 本人在2014年6月3日(北京时间)凌晨起来通过网络观看2014年WWDC 苹果公司的发布会有iOS8以及OS X 10.1 ...
- The Swift Programming Language 英文原版官方文档下载
The Swift Programming Language 英文原版官方文档下载 今天Apple公司发布了新的编程语言Swift(雨燕)将逐步代替Objective-C语言,大家肯定想学习这个语言, ...
- iOS Swift-元组tuples(The Swift Programming Language)
iOS Swift-元组tuples(The Swift Programming Language) 什么是元组? 元组(tuples)是把多个值组合成一个复合值,元组内的值可以使任意类型,并不要求是 ...
- iOS Swift-控制流(The Swift Programming Language)
iOS Swift-控制流(The Swift Programming Language) for-in 在Swift中for循环我们可以省略传统oc笨拙的条件和循环变量的括号,但是语句体的大括号使我 ...
- iOS Swift-简单值(The Swift Programming Language)
iOS Swift-简单值(The Swift Programming Language) 常量的声明:let 在不指定类型的情况下声明的类型和所初始化的类型相同. //没有指定类型,但是初始化的值为 ...
- SWFUpload 2.5.0版 官方说明文档 中文翻译版
原文地址:http://www.cnblogs.com/youring2/archive/2012/07/13/2590010.html#setFileUploadLimit SWFUpload v2 ...
- [iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01
注:CocoaChina翻译小组已着手此书及相关资料的翻译,楼主也加入了,多人协作后的完整译本将很快让大家看到. 翻译群:291864979,想加入的同学请进此群哦.(本系列不再更新,但协作翻译的进度 ...
- The Swift Programming Language 中国版
iSwifting社会的 Swift 兴趣交流群:303868520 iOS 微信公众账号:iOSDevTip Swift 微信公众账号:SwiftDev iSwifting社区 假设你认为这个项目不 ...
- redis命令参考和redis文档中文翻译版
找到了一份redis的中文翻译文档,觉得适合学习和查阅.这份文档翻译的真的很良心啊,他是<Redis 设计与实现>一书的作者黄健宏翻译的. 地址:http://redisdoc.com/i ...
随机推荐
- Linux Mint 19.1将采用新的桌面布局
我们期待Linux Mint 19.1的发布在圣诞节假期之前到来,希望它会带来一些惊喜. Linux 19.1版本将默认包含Cinnamon 4.0桌面环境,Mint的开发人员说,这将比现在“看起来更 ...
- 【Henu ACM Round #13 E】Spy Syndrome 2
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 对m个串建立一棵字典树. 然后对主串. 尝试从第一个位置开始.在字典树中尝试匹配 如果匹配到了位置i 就再从位置i+1开始尝试匹配 ...
- Android.mk脚本推断文件是否存在
Android.mk 推断文件是否存在,若存在则复制该文件到某个文件夹 $(shell test -f [文件] && echo yes)的值假设是yes, 则文件存在,然后进行she ...
- TXT小说朗读正式版
作者:www.gudianxiaoshuo.com 干净清洁的小说朗读软件,支持 TXT阅读.语音朗诵.点评标注.数据挖掘
- hadoop2.x HDFS快照介绍
说明:由于近期正好在研究hadoop的快照机制.看官网上的文档讲的非常仔细.就顺手翻译了.也没有去深究一些名词的标准译法,所以可能有些翻译和使用方法不是非常正确,莫要介意~~ 原文地址:(Apache ...
- sqlserver 小计合计总计
SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计'WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN F1+'合计'W ...
- 洛谷 P3385 【模板】负环
P3385 [模板]负环 题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M ...
- HDU 3487(Play with Chain-Splay)[template:Splay]
Play with Chain Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Myeclipse集成Maven(图文说明)
myeclipse 上安装 Maven3 环境准备: JDK 1.6 Maven 3.2.5 myeclipse 2013 安装 Maven 之前要求先确定你的 JDK 已经安装配置完毕.Maven是 ...
- HTTP协议建立连接、通讯与关闭连接全过程
为解决服务器TimeWait多的问题,了解了一下TCP/IP协议的连接过程.以访问一静态页面为例,从建立连接到访问拿到数据,然后关闭的整个过程.使用EtherPeek截图如下: 图首为一次交互过程 ...