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 ...
随机推荐
- react-native使用androidstudio时,安卓模拟器reload菜单界面显示快捷键ctrl+M;
react-native使用androidstudio时,安卓模拟器reload菜单界面显示快捷键ctrl+M:
- 破解root用户密码 -rwx权限
破解root用户密码(本地登录) 1.光驱要放入系统光盘 2.重启os 3.修改启动菜单进入1运行级别 4.设置新密码 5.重启os linux的运行级别(默认3或5): 查看默认的运行级别 cat ...
- JQ each 各种标签
类选择器: $("input[class=class1]").each(function(){ alert($(this).val()); }); ID选择器: $("i ...
- IDEA 热启动,每次更改代码后不用重启服务
1.ctrl+Shift+Alt+/,选择Registry 2.勾选 compiler.automake.allow.when.app.running(可能不按首字母排序,可以多找找) 3.Setti ...
- HDU4009 Transfer water 【最小树形图】
Transfer water Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) T ...
- hdu 5375 - Gray code(dp) 解题报告
Gray code Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
- Intel TBB in OpenCASCADE
Intel TBB in OpenCASCADE eryar@163.com OpenCASCADE使用了一个开源的第三方库Intel TBB,这个并行计算库主要用于网格化.布尔操作等复杂算法,可以明 ...
- asp.net 站点在Apache下的配置,就这么简单
asp.net 站点在Apache下的配置,就这么简单 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames ...
- Elasticsearch之源码编译
前期博客 Elasticsearch之下载源码 步骤 (1)首先去git下载源码 https://github.com/elastic/elasticsearch/tree/v2.4.3 下载下来,得 ...
- pix格式的一些摸索
作者:朱金灿 来源:http://blog.csdn.net/clever101 以前因为工作关系研究过PCI的系统格式pix,但是遗留了一些问题,最近又想重新解决这些问题.研究了一天,有些收获,但是 ...