Swift第一波

2016-12-30 02:39

首先呢,每门语言都是从常量变量讲起,Swift当然也不例外

在Swift中常量 使用 let声明 变量使用var声明

不像OC或者Java 我们在声明常量变量时,可以不加类型,编译器能够帮助我们推断出类型,像这样

let myName = "Yang Qian"

var myAge = 23

在上面两行中,并没有指明 myAge 和 myName 的类型,编译器也没有报错,当然,我们也是可以声明他们的类型的:

let myName: String = "Yang Qian"

let myAge: Int = 23

let :dog::cow: = "dogcow"

注意 这里有一个书写规范,苹果在文档中特意提醒了,在声明类型的时候,需要在冒号后面空一格,保持格式一致。

常量(let)一旦声明,便不可更改。变量(var)可进行更改

注释

// This is a comment. 这是一行注释

/*
 这是多行注释
 */

分号

关于分号呢,在Swift中,每个语句结束是不用写分号的,当然也可以写,但是我们推荐呢,还是不要写了,苹果都说不用写了,你还写干嘛,而且现在看一些开源的Swift代码,大神都没写分号。

但是存在一种情况,就是如果你想在一行写多个语句,那每个语句之间你就需要用分号隔开了

//这样就会报错了
let myName: String = "Yang Qian" let myAge: Int = 23
//要这样写
let myName: String = "Yang Qian" ; let myAge: Int = 23

这样的代码也太丑了吧,还是一行一个语句吧,养成良好的代码习惯

整数Int

在Swift上,提供了一个特殊的整数类型Int,在32位的机器上运行,那这个整数的长度就是和Int32相同,如果实在64为机器上运行,那这个整数的长度就是Int64的,一般来说 我们直接使用Int就已经OK了。

无类型UInt

无符号类型,一般呢我们不使用,为什么呢? 苹果文档上讲的

Use UInt only when you specifically need an unsigned integer type with the same size as the platform’s native word size. If this is not the case, Int is preferred, even when the values to be stored are known to be non-negative

类型别名

类型别名 就是给现有的类型加上一个我们自己自定义的名称 使用关键字 typealias定义

//这样,我们就将UInt16定义成了 AudioSample
typealias AudioSample = UInt16

var maxAmplitudeFound = AudioSample.min
// 等价于 var maxAmplitudeFound = UInt16.min

Booleans

现在我们的布尔值 不再是OC 中的 Yes 和 No 了 需要使用 true false

而且 现在呢,我们也不能再使用int的 0 1 来表示 true 或者false 了 之前呢 OC是可以这样使用的 但是在swift中,编译器就会报错了

let i = 1
if i {
 // this example will not compile, and will report an error
}

这样,苹果讲了,是会报错的