常量和变量
Swift常用的基本类型:
- Int 整形 Double 浮点型(双精度)
- Float 浮点型(单精度)
- String 字符串型
注:第一个字母都是大写
常量:
- 使用let申明
- 常量在申明的时候可以不赋值,但只能赋值一次
变量:
- 使用var申明(和javascript一样)
Swift语言的语法与其他语言的区别:
- 语句末尾可以不写分号
- 可以一次申明多个:
1 var x = 0.0 , y = 0.0 , z = 0.0;
- 变量的类型在申明的时候可以不标注类型,它会在在第一次赋值的时候确定,且不可改变
- 也可以显示指定类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称 例如:
-
1 // 标注类型为为String 2 var frog:String frog = "frog" 3 // 还可以同时显示申明一组变量的类型 4 var cat,dog,pig : Double
- Int也可以用进制数来表示
- 一个十进制数,没有前缀
- 一个二进制数,前缀是0b
- 一个八进制数,前缀是0o
- 一个十六进制数,前缀是0x
下面的所有整数字面量的十进制值都是17
1 var decimalInteger = 17 2 var binaryInteger = 0b10001 // 二进制的17 3 var octalInteger = 0o21 // 八进制的17 4 var hexadecimalInteger = 0x11 // 十六进制的17
当数字较大时,可以用下划线(_)来分隔,如:
1 let bignum = 1_000_000 // 1000000 2 // 也可以以四位来分隔 3 let bignum2 = 1_0000_0000 // 100000000 4 5 // 数字之间的转换 6 let num_a:Float = 1 // 整形自动转换成了浮点型 7 let num_b:Int = 1.2 8 //浮点型自动转换成了整形,截掉了小数点后的数,但是这种类型转换并不是任何时候都有效的,如下: 9 let a:Int = 3 10 let b:Double = 0.1415926 11 let pi:Double = a+b 12 13 // 这个时候编译器是报错的,Swift无法处理一个Int和一个Double相加再赋值给Double型,这个时候就要用到强制类型转换 14 let num_a:Int = Int(1.2)
常量与变量命名规则
- 不能包含数学符号、空格、箭头。
- 不能用数字作为空格的首字母,但是可以在放在除首字母外的其它任何位置。
- 用一作用域中,不能出现重名的变量或者常量。
1 let 大象 = "animal"
输出函数
1 println("friendly,Welcome") // 输出后会换行 2 print("This is a string") // 输出不会换行
输出常量和变量,要将常量或变量放入括号中,并在开括号前使用反斜杠将其转义,如下:
1 let animal = "elephant" 2 println("He's no \(animal)") // 输出He‘s no elephant
注释
1 // 这是一个单行注释 2 3 /* 这是一个, 4 多行注释 */
值得一提的是,swift中的多行注释可以嵌套。你可以先生成一个多行注释块,然后在这个注释块之中再嵌套成第二个多行注释。终止注释时先插入第二个注释块的终止标记,然后再插入第一个注释块的终止标记:
/* 这是第一个多行注释的开头 /* 这是第二个被嵌套的多行注释 */ 这是第一个多行注释的结尾 */
由于代码格式的问题,这里没有变颜色,在xcode中是可以看出来的
分号(;)
与其他大部分编程语言不同,Swift 并不强制要求你在每条语句的结尾处使用分号(;),当然,你也可以按照你自己的习惯添加分号。有一种情况下必须要用分号,即你打算在同一行内写多条独立的语句:
1 var cat = "????"; println(cat) 2 // 输出 "????"
整数
Swift 提供了8,16,32和64位的有符号和无符号整数类型。这些整数类型和 C 语言的命名方式很像,比如8位无符号整数类型是UInt8,32位有符号整数类型是Int32。就像 Swift 的其他类型一样,整数类型采用大写命名法。
整数范围
你可以访问不同整数类型的min和max属性来获取对应类型的最大值和最小值:
1 var minValue = UInt8.min // minValue 为 0,是 UInt8 类型的最小值 2 var maxValue = UInt8.max // maxValue 为 255,是 UInt8 类型的最大值
Int
一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同:
- 在32位平台上,Int和Int32长度相同。
- 在64位平台上,Int和Int64长度相同。
除非你需要特定长度的整数,一般来说使用Int就够了。这可以提高代码一致性和可复用性。即使是在32位平台上,Int可以存储的整数范围也可以达到-2147483648~2147483647,大多数时候这已经足够大了。
UInt
Swift 也提供了一个特殊的无符号类型UInt,长度与当前平台的原生字长相同:
- 在32位平台上,UInt和UInt32长度相同。
- 在64位平台上,UInt和UInt64长度相同。
在32位平台上,Int可以存储的整数范围-2147483648~2147483647
注意:尽量不要使用UInt,除非你真的需要存储一个和当前平台原生字长相同的无符号整数。除了这种情况,最好使用Int,即使你要存储的值已知是非负的。统一使用Int可以提高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推测,请参考类型安全和类型推测。
浮点数
浮点数是有小数部分的数字,比如3.14159,0.1和-273.15。
浮点类型比整数类型表示的范围更大,可以存储比Int类型更大或者更小的数字。Swift 提供了两种有符号浮点数类型:
- Double表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。
- Float表示32位浮点数。精度要求不高的话可以使用此类型。
注意:Double精确度很高,至少有15位数字,而Float最少只有6位数字。
2015-03-10
21:57:47