Swift基础语法(一)


1.常量&变量

使用var关键字定义变量,可以修改

使用let关键字定义常量,不可修改

技术分享

提示:在Swift开发中,通常先定义常量let,只有必须要修改的时候,才定义成var,这样会更安全。


2.类型转换

Swift是一个对类型要求及其严格的语言,任何数据类型之间,都不能隐式转换。如果要在不同的类型之间进行计算,必须转换格式

技术分享技术分享

解决方案一:强制转换

技术分享技术分享

提示:Swift在上面定义i, j常量的时候自动推断了类型,Swift中默认的整数格式是Int(long 64位),默认的小数格式是Double(而OC中默认的小数格式是CGFloat)。

解决方案二:定义的时候指明类型

技术分享技术分享


3.分支语句

在C语言中,if有一个特点,“非零即真”。但是在Swift中,没有这个概念,在分支语句中,必须准确地指明条件的真假。

技术分享

技术分享

Swift中的条件语句有两个特点:

1>条件不需要括号

2>必须要有 {}

技术分享技术分享


4. 循环

循环的主要用法有以下四种:

技术分享

技术分享


5.字符串

Swift中默认的字符串类型为String,是一个结构体,所以它的效率更高


  1. import UIKit
  2. var str = "Hello World"
  3. // 快速遍历字符串
  4. for c in str {
  5.    println(c)
  6. }
  7. // 字符串之间拼接
  8. var str1 = str + ",你好"
  9. let i = 100
  10. let view = UIView()
  11. view.backgroundColor = UIColor.redColor()
  12. // 变量拼接进字符串
  13. println(str1 + "(i) aaa (view.backgroundColor)")
  14. //字符串格式化
  15. let str2 = String(format: "%02d:%02d:%02d", arguments: [1, 5, 10])
  16. // 在Swift中,如果字符串要结合range一起使用,建议先转成NSString
  17. // 因为 swift 的字符串和range一起使用很蛋疼
  18. let myString: NSString = "hello"
  19. myString.substringWithRange(NSMakeRange(1, 4))

字符串的快速遍历

技术分享技术分享

字符串拼接

技术分享技术分享


6.数组

  1. import UIKit
  2. // 定义不可变数组
  3. let array1 = ["zhangsan", "lisi"]
  4. // 遍历数组
  5. for a in array1 {
  6.    println(a)
  7. }
  8. // 不能向不可变数组追加元素
  9. //array1.append("abc")
  10. // 可变数组
  11. var array2 = ["aaa", "bbb"];
  12. array2.append("ccc")
  13. // 如果数据里面类型不一致,那么这个数组类型为NSObject
  14. var array3 = ["zzz", 123, "aaa"];
  15. // 定义一个数组,没有初始化
  16. var array4: [String]
  17. // 初始化数组
  18. array4 = [String]()
  19. // 添加元素
  20. array4.append("hello")
  21. array4.append("world")
  22. // 数组容量
  23. println(array4.capacity)
  24. // keepCapacity表示是否保持容量,如果为true当再次追加元素的时候,会在原有容量的基础上乘以2,如果是false,则是当前容量*2
  25. array4.removeAll(keepCapacity: true)
  26. for i in 0...5 {
  27.    array4.append("(i)")
  28.    println("(array4): (array4.capacity)")
  29. }

技术分享

技术分享

7.字典

常见的字典使用如下:

  1. import UIKit
  2. // 定义字典
  3. let dict = ["name": "alin", "title": "boss", "age": 20]
  4. // 遍历字典
  5. for (v, k) in dict {
  6.    println("(v)--(k)")
  7. }
  8. // 定义可变字典并且实例化
  9. var dict1 = [String: NSObject]()
  10. // 设置内容
  11. dict1["name"] = "laolin"
  12. dict1["age"] = 88
  13. //再次设置会覆盖
  14. dict1["name"] = "abc"
  15. // 删除
  16. dict1.removeValueForKey("age")
  17. //合并字典
  18. var dict2 = ["title": "boss"]
  19. for (k, v) in dict2 {
  20.    dict1.updateValue(v, forKey: k)
  21. }


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。