原文(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
... e/id881256329?

mt=11 

epub版本号下载:http://pan.baidu.com/s/1ntJnbc9 .
鐗涗汉浜戦泦,涓€浜╀笁鍒嗗湴

calibre下载(可在PC看epub):http://calibre-ebook.com/download

最新文章

  1. java多线程--信号量Semaphore的使用
  2. 立方体旋转 【web前端学习部落22群120342833】
  3. Fiddler-009-AutoResponder 简单的 MOCK SERVER 应用实例
  4. 小菜鸟 学MQ(二)
  5. python_way ,day1 编译安装python3、基础及流程控制
  6. HDU 2083 简易版之最短距离 --- 水题
  7. C#绘制工行Logo
  8. ShowMask
  9. Asteroids(二分图最大匹配模板题)
  10. parcel write boolean值
  11. 关于AndroidManifest.xml
  12. H5开发中的故障
  13. ajax请求获取实时数据
  14. JQuery移动动画实现点击按钮切换图片--JQuery基础
  15. iframe局部刷新的二种实现方法
  16. 了解AutoCAD对象层次结构 —— 1 ——应用程序
  17. PHP isset()、empty()、is_null()的使用区别详解
  18. Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone
  19. 在notepad++里面使用正则表达式替换掉所有行逗号前面内容
  20. swig的语法和用法

热门文章

  1. 【Docker基本操作】
  2. C# 调用者信息特性(Attribute)
  3. 洛谷 P2684 搞清洁
  4. JAVA实现排队论
  5. poj2243 &amp;amp;&amp;amp; hdu1372 Knight Moves(BFS)
  6. 数据库优化技巧之in和not in
  7. POJ 1991 DP
  8. 2018 java实训总结(时间戳&amp;&amp;主键)
  9. LightOJ 1291 Real Life Traffic
  10. POJ——T 2406 Power Strings