常量和变量

Swift常用的基本类型:  
  • Int 整形  Double 浮点型(双精度)  
  • Float 浮点型(单精度)
  • String 字符串型  

:第一个字母都是大写

 

常量:
  1. 使用let申明  
  2. 常量在申明的时候可以不赋值,但只能赋值一次

变量:  

  • 使用var申明(和javascript一样)

 

Swift语言的语法与其他语言的区别:
  1. 语句末尾可以不写分号
  2. 可以一次申明多个:  
    1 var x = 0.0 , y = 0.0 , z = 0.0;
  3. 变量的类型在申明的时候可以不标注类型,它会在在第一次赋值的时候确定,且不可改变
  4. 也可以显示指定类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称 例如:
  5. 1 // 标注类型为为String  
    2 var frog:String  frog = "frog" 
    3 // 还可以同时显示申明一组变量的类型 
    4 var cat,dog,pig : Double
  6. 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

posted on 2015-03-10 21:54  道无涯  阅读(201)  评论(0编辑  收藏  举报