当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 )

当AS3遇见Swift(一)的更多相关文章

  1. 当As3遇见Swift(三)

    类 As3 Swift中似乎没有包,包路径的概念.因而显得简洁的多. package { public class ShuaiGe { } } Swift类 class ShuaiGe{ } 类的构造 ...

  2. 当As3遇见Swift(二)

    字符串:String 都是用String来表示,都是值类型,在传递过程中都会进行拷贝. 计算字符数量 As3: str.length Swift: countElements(str) 数组:Arra ...

  3. swift 当协议遇见了泛型

    由于泛型比较简单,并没有单独拿出来介绍!我们在定义函数的时候,有时候只是由于参数或者返回值类型不同,而具体的实现过程是一模一样的,这个时候我们就可以定义泛型函数而使可以传入不同的参数类型: func ...

  4. Swift中的Optional类型 (可选类型)与强制解包 ? !

    我们在swift的开发中会经常遇见?和! ,理解这两个符号深层次的内容对我们的开发是相当有利的: 目前网上对swift3.0的教程还相当的少,如果去搜索会发现早期的说法,在定义变量的时候,swift是 ...

  5. Swift Json 解析错误

    昨天在开发公司的ios程序时,遇见一个json解析的问题,并且是一个非常奇怪的问题. 因为原来的代码比较复杂,所以对代码进行了一些简化,具体代码如下: 服务器返回格式(PHP): array( arr ...

  6. 【面试必备】Swift 面试题及其答案

    原文:Swift Interview Questions and Answers 原作者:Antonio Bello 原作者介绍: Antonio 拥有丰富的编程经验.他开始编程的时候,内存单位还是 ...

  7. Swift 了解(3)

    类(Classes) 假设你是一个建筑师,你刚刚签了一个合同,要在一个新的小区修建20个相似的房子.在你派出建筑工队之前,你必须要画一个房子的设计图.这份设计图将会展现房子的外表和功能.把这份设计图当 ...

  8. Swift 学习笔记 (函数)

    函数 函数是一个独立的代码块,用来执行特定的任务.Swift中的函数与Object-C中的函数一样,但是声明与书写的方式不太一样,现在我们就通过几个例子介绍一下Swift中的函数.简单的来说,他与JS ...

  9. swift对象存储

    swift对象存储 简介 OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性.冗余和持久性.对象存储,用于 ...

随机推荐

  1. 利用crontab定时重启centos

    起因 前一段买了aliyun的ecs的最低配版,大概配置是centos 7,512内存,20G空间. 部署了几个站点,虽然网站已经做了一定的静态化,但还是会出现内存不够用的情况,这个时候,系统会停掉一 ...

  2. sqlserver log

    DBCC LOGINFODBCC log('QSSys', TYPE=2)goselect * from sys.fn_dblog(null,null)select [Dirty Pages],[Mi ...

  3. Nginx配置文件详细说明[转]

    在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户user www-data;    #启动进程,通常设置成和cpu的数量相等worker_process ...

  4. 线性表集合A=A B

    大话数据结构 void union(List *a, List Lb) { int La_len, Lb_len, i; ElemType e; La_len = ListLength(La); Lb ...

  5. jbpm node signal

    task-node (任务节点) 其性质和node节点一样,在没有task的时候,也都是自动执行,不等待.task-node被归类为一个等待节点,是指在task-node中的task列表中的task没 ...

  6. 后台获取前台runat=server的select的值

    <li> <asp:Label ID="Lpro" runat="server" Text="省份:" CssClass= ...

  7. C/C++ 笔试、面试题目大汇总(二)

    一.找错题 试题1: void test1() { charstring[10]; char* str1 ="0123456789"; strcpy( string, str1 ) ...

  8. Oracle横向纵向汇总

    Oracle横向纵向汇总 有一张表test 如下, (NO 学生编号 ,cj 成绩) NO name KM CJ 001 张三 语文 80  001 张三 数学 86  001 张三 英语 75  0 ...

  9. 常用jQuery代码01

    1.点击获得当前元素索引,实现切换相应的图片路径 $(".li").bind("click", function () { var _num = $(this) ...

  10. 拷贝数据库和VS项目

    2个项目的相似度比较大,在另一个的基础上做修改,不想从头再来,把数据库和项目如何克隆一份呢? 数据库复制:(SQLSERVER2008) 任务-备份数据库 然后还原到新建的数据库名下即可 VS项目复制 ...