掀起你的盖头来——Swift语言
来源:互联网 发布:知乎 七月在夏天 编辑:程序博客网 时间:2024/05/16 18:05
转载自:http://www.boode.com.cn/share/swift.html
苹果在今年的 WWDC 大会上推出了Swift编程语言,它是一门博采众长的现代语言。苹果的目的很明显,就是要让 Swift 替换 Objective-C。Swift 很简单,学起来也很容易,所以它有望成为示教编程的默认语言,其功能之强大可以满足任何企业变成要求。Swift具有快速、现代、安全、可交互等特征,并且其语法简单,入门门槛低,有望替代语法复杂难懂的Objective-C语言。
为了初步了解Swift语言的特点,我们写了一些简单的示例代码,从这些代码我们可以一窥其面目。
【HelloWorld】
println(
"Hello World"
)
有人可能要说,这行代码是否少分号了?不是这样的,在Swift里分号是可写可不写的!也没有IMPORT语句、main函数,也没有@符号。编译运行可以看到控制台打印的Hello World字样。这里的println是全局函数,负责打印参数内容,并换行 。
【声明变量和常量】
var legs =
4
// 变量legs
let PI =
3.1415926
// 常量PI
legs为变量,PI是常量,它们到底是什么类型呢?答案是Type Inference(类型推测),由于这两个语句在声明的同时并且初始化,因为4是Int类型,因此推测变量legs为Int类型,同 理,3.1415926为Double类型,因此推测PI为Double类型。也可以强制规定类型:
var legs:Int
//legs被强制规定为整型
let PI:Double
//PI被强制规定为浮点数类型
【switch语句】
switch语句的case后不用加break。弱你在其它一些语言中不写break,那可就大错特错了!而在Swift中,switch选择的case语句执行完毕后立即跳出switch语句,而不会因为语句后没有break继续执行后面的case或者default语句
var a =
1
switch
a {
case
1
: println(
1
)
case
2
: println(
2
)
default
: println(
3
)
}
// no break at all
【数组】
可以用n..m 或者 n...m 代替一个数组,比如:
for
index in
0
..
3
{ println(index) }
..代表前闭后开,...代表前后都闭合,所以0..3代表数组[0,1,2],而0...3代表[0,1,2,3]
【定义一个类 Class】
在Swift中,存在两种类型,一种是引用类型(reference type),一种是值类型(value type),class是引用类型,而enumeration和struct是值类型,它们的一个重要区别是传递的方式不一样,一个是传递副本,一个是传递本身
<span>
class
Vehicle { </span>
var wheels:Int?
var maxPassengers:Int?
func description() -> String {
return
"This vehicle has \(wheels!) wheels,max passengers is \(maxPassengers!) "
}
init(withWheels wheels:Int,andMaxPassengers maxPassengers:Int) {
self.wheels = wheels
self.maxPassengers = maxPassengers
}
deinit { }
}
该类名为Vehicle,声明了两个属性,wheels和maxPassengers。以及一个实例方法description,该方法没有参数,返回值为字符串类型。同时,该类提供一个初始化方法,init是关键字,该方法接受两个参数,代表之前声明的两个属性。该参数包括三个部分,分别是外部参数名(external parameter name),局部参数名(local parameter name)以及参数类型,在方法调用里会用到外部参数名,局部参数名是用在方法体内的。
- 掀起你的盖头来——Swift语言
- 周末跳舞——掀起你的盖头来
- 掀起你的盖头来——Windows SEH
- 掀起你的盖头来——Windows SEH
- 掀起你的盖头来
- VC++,掀起你的盖头来(zt)
- VC++,掀起你的盖头来
- VC++,掀起你的盖头来
- VC++,掀起你的盖头来
- VC++,掀起你的盖头来
- VC++,掀起你的盖头来
- VC++,掀起你的盖头来
- 数据库范式:掀起你的盖头来
- C++,掀起你的盖头来
- VC++,掀起你的盖头来——谈VC++对象模型
- VC++,掀起你的盖头来——谈VC++对象模型
- VC++,掀起你的盖头来——谈VC++对象模型
- 掀起你的盖头来 ——谈VC++对象模型
- Inner class test
- Android架构分析之Android智能指针(二)
- 位置无关代码分析
- jdbc pool access
- Fibonacci数列
- 掀起你的盖头来——Swift语言
- 用VC能不能做出类似word、写字板的程序
- poj 3259 Wormholes
- 看看走过的路——个人重构
- Unicode和多字节字符集 (MBCS)
- 运行报错,大家看看错在哪了?
- 手感很好
- 防止表单重复提交
- 进程内存Android进程的内存管理分析