当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 )
当AS3遇见Swift(一)的更多相关文章
- 当As3遇见Swift(三)
类 As3 Swift中似乎没有包,包路径的概念.因而显得简洁的多. package { public class ShuaiGe { } } Swift类 class ShuaiGe{ } 类的构造 ...
- 当As3遇见Swift(二)
字符串:String 都是用String来表示,都是值类型,在传递过程中都会进行拷贝. 计算字符数量 As3: str.length Swift: countElements(str) 数组:Arra ...
- swift 当协议遇见了泛型
由于泛型比较简单,并没有单独拿出来介绍!我们在定义函数的时候,有时候只是由于参数或者返回值类型不同,而具体的实现过程是一模一样的,这个时候我们就可以定义泛型函数而使可以传入不同的参数类型: func ...
- Swift中的Optional类型 (可选类型)与强制解包 ? !
我们在swift的开发中会经常遇见?和! ,理解这两个符号深层次的内容对我们的开发是相当有利的: 目前网上对swift3.0的教程还相当的少,如果去搜索会发现早期的说法,在定义变量的时候,swift是 ...
- Swift Json 解析错误
昨天在开发公司的ios程序时,遇见一个json解析的问题,并且是一个非常奇怪的问题. 因为原来的代码比较复杂,所以对代码进行了一些简化,具体代码如下: 服务器返回格式(PHP): array( arr ...
- 【面试必备】Swift 面试题及其答案
原文:Swift Interview Questions and Answers 原作者:Antonio Bello 原作者介绍: Antonio 拥有丰富的编程经验.他开始编程的时候,内存单位还是 ...
- Swift 了解(3)
类(Classes) 假设你是一个建筑师,你刚刚签了一个合同,要在一个新的小区修建20个相似的房子.在你派出建筑工队之前,你必须要画一个房子的设计图.这份设计图将会展现房子的外表和功能.把这份设计图当 ...
- Swift 学习笔记 (函数)
函数 函数是一个独立的代码块,用来执行特定的任务.Swift中的函数与Object-C中的函数一样,但是声明与书写的方式不太一样,现在我们就通过几个例子介绍一下Swift中的函数.简单的来说,他与JS ...
- swift对象存储
swift对象存储 简介 OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性.冗余和持久性.对象存储,用于 ...
随机推荐
- [转]LaTeX处女级入门命令语法集
1.LaTeX文件的框架如下: \documentclass{article} \begin{document} This is the body of the article \end{docume ...
- the OS maintains a number of queues
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION To do its job, the OS ...
- prior knowledge
https://en.wikipedia.org/wiki/Bayes'_theorem For example, if cancer is related to age, then, using B ...
- Apache Kafka源码分析 - PartitionStateMachine
startup 在onControllerFailover中被调用, initializePartitionState private def initializePartitionState() { ...
- JDBC 增删查改
public class MemberDaoImpl implements MemberDao { private Connection conn = null; public MemberDaoIm ...
- css中IE6fix问题
.g-popup-mask, .g-popup-box { position:fixed; top:0; left:0; z-index:10000; _position:absolute; _top ...
- linux ssh scp 命令
ssh jackielee@192.168.1.103 scp jackielee@192.168.1.103:/home/jackielee/develop/helloworld helloworl ...
- 使用SecureCRT连接ubuntu
SecureCRT SSH2连接新装的UBUNTU 14.04 LTS 发现UBUNTU默认没有安装SSH 服务 在UBUNTU上 sudo apt-get install openssh-serve ...
- Java高级之线程同步
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 关于实现多线程的意义,"从业四年看并发"一文已经讲述,而本篇主要讲一下常用的设计 ...
- zepto源码--$.map,$.each,$.grep--学习笔记
从相对比较简单的说起: 1.$.grep 获取一个新数组,新数组只包含回调函数中返回 true 的数组项. 调用javascript中数组原生函数filter,对elements进行过滤,保留回调函 ...