当AS3遇见Swift(一)

当AS3遇见Swift

从Hello开始

As3

trace(“Hello Eko”)

Swift

println(“Hello Eko”)

挺象,有点隔壁王叔叔的意思。

常量和变量

As3

         public var str1:String=”eko”//变量

         public const str2:String=”eko”//常量

Swift

         var str1:String=”eko” //变量

         let str2:String=”eko” //常量

在swift中没有public private protected等修饰符号。同as3一样,swift中类型(:String,:Int)的标注也不是必须的。Swift可以推导出类型。

注释

As3与Swift是一样的

//我是一行注释

/*

         我是多行注释

*/

分号

A3和Swift一样,都不强制要求在每条语句的结尾使用分号

整数

As3 提供了int和uint类型。其中int是32位带符号的整数。而unit是32位无符号整数。

Swift提供了Int和Uint类型。在32位平台上,Int长度为32位(Int32),在64位平台上则是64位(Int64)。Uint同Int。

浮点

As3,只有Number(53位)

Swift有Double(64位)和Float(32位)

布尔值

As3 中是Boolean

Swift 中是Bool

它们的布尔值有相同的常量true和false

元组

定义:把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型

As3 没有

Swift有

可选类型(optionals

定义:如果有值就返回当前值,如果没有值就返回nil

这是Swift中独有的

if语句

As3的条件判断需要加”()”括号

if(name==”eko”){}

Swift可以省略

if name==”eko” {}

默认值

As3

int:o

unit:0

String:null

Number:NaN

Array:null

Object:null

Boolean:flase

Swift 没有默认值,只有当类型被声明为可选类型的时候,会被自动设置为nil

var eko:String?//加了问号(?)就变成可选类型了

那么在eko被赋值之前就是nil

赋值运算符

As3与Swift都使用“=”等号

数值运算

加减乘除等(+,-,*,/)AS3和Swift在这方面倒没什么不同。包括字符串的拼接也一样

“hello ”+”eko”。如果有一个变量str=“eko”,那么他怎么和字符串拼接呢。

As3

“hello ”+str

Swift

“hello \(str)”

区间运算

As3无

Swift有

例子:

for index in ... {

println("\(index) * 5 = \(index * 5)")

}

// 1 * 5 = 5

// 2 * 5 = 10

// 3 * 5 = 15

// 4 * 5 = 20

// 5 * 5 = 25

这里面1…5就是一个闭区间

逻辑运算

相同

逻辑非( !a )

逻辑与( a && b )

逻辑或( a || b )

上一篇:Ios 该图显示其出现的相关问题定义UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'


下一篇:QuickSwitchSVNClient,快速完成SVN Switch的工具