当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 1...5 {

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 )

 

posted on 2014-06-13 13:18  老镇  阅读(1385)  评论(4编辑  收藏  举报

导航