首页 > 代码库 > Swift语言的基础详解

Swift语言的基础详解

1.1.关于swift

· Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制。Swift 采用安全的编程模式,增加了现代功能使 编程更容易、更灵活、更有趣。Swift 以成熟且备受宠爱的 Cocoa 和 Cocoa Touch 框架为 支撑,这是一个重新构想软件开发的机会。 

· 支持Playground,它允许程序实时预览,无需频繁创建和运行APP

· 简洁,  安全, 容易, 灵活, 高效

1.2.swift初见

通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”。在 Swift 中,可 以用一行代码实现: 

  1.  println("hello,world") 

注意:为了获得最好的体验,在 Xcode 当中使用代码预览功能。代码预览功能可以让你编辑代码并实时看到运行结果。

· 单行注释

  //  单行注释

· 多行注释

  /*

    // 单行注释

    /* 多行注释,需要注意的是,多行注释可以嵌套,这点和其他语言不一样,很实用的一个功能 */

  */ 

· 分号

  · 单个语句后面无需加分号,加了也行

  · 多个语句放在一行,需要加分号

1.3.变量与常量

· 变量

  · 使用var声明变量(值可以根据需要不断修改的量称为变量)

· 常量

  · 使用let声明变量(值不能够被二次修改的量称为常量)

· 类型推导

  · 编译器在编译的时候,通过提供的初始化值,自动推导出 特定的表达式的类型

· 注意

  · 变量多次赋值的时候需要保证值的类型是相同的

  · 显示声明类型,语法:"变量:类型"

  · swift不会自动给变量赋初始化值,也就是说变量不会有默认值,所以要求在使用变量之前必须要对其初始化

  · swift不支持隐士类型转换,需要显示类型

  · 使用typealias关键字定义类型别名,类似typedef

  · 字符串格式化,使用 \(item)

1.4.命名规则

  · swift中可以使用几乎任何字符来常量和变量名,包括Unicode。但是不能含有数字符号,箭头,无效的Unicode,横线—,制表符,

且不能以数字开头

1.5.整型表现形式

  · 二进制数,前缀为 0b

  · 八进制数,前缀为 0o

  · 十六进制数,前缀为 0x

2.1.数组与字典

  · 使用 [ ] 操作符声明数组

  · 使用 [ key : value ]操作符声明字典

2.1.1.数组的用法

技术分享

2.1.2.数组的增加、修改与删除元素的值用法

 技术分享

 技术分享

 技术分享

2.1.3.数组的遍历

 技术分享

2.1.4.声明数组的方法

 技术分享

2.1.5.字典的声明与输出

 技术分享

2.1.6.字典的添加、修改、删除方法

 技术分享

 技术分享

2.1.7.输出字典的个数count

 技术分享

2.1.8.字典的遍历方法

 技术分享

 技术分享

3.1.元祖

  元组(tuples)把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相 同类型。 

例子: 1. let http404Error = (404, "Not Found")

    2. // http404Error 的类型是 (Int, String),值是 (404, "Not Found") 

 

你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想,你可 以创建一个类型为(Int, Int, Int)或者(String, Bool)

或者其他任何你想要的组合的元组。 

你可以将一个元组的内容分解(decompose)成单独的常量和变量,然后你就可以正常使 用它们了: 

  1. let (statusCode, statusMessage) = http404Error 

  2. println("The status code is \(statusCode)") 

  3. // 输出 "The status code is 404"

  4. println("The status message is \(statusMessage)") 

  5. // 输出 "The status message is Not Found" 

如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记: 

   1. let (justTheStatusCode, _) = http404Error

  2. println("The status code is \(justTheStatusCode)") 

  3. // 输出 "The status code is 404" 

此外,你还可以通过下标来访问元组中的单个元素,下标从零开始: 

  1. println("The status code is \(http404Error.0)")
  2. // 输出 "The status code is 404"
  3. println("The status message is \(http404Error.1)")
  4. // 输出 "The status message is Not Found" 
 
你可以在定义元组的时候给单个元素命名:

let http200Status = (statusCode: 200, description: ) 

给元组中的元素命名后,你可以通过名字来获取这些元素的值: 

  1. println("The status code is \(http200Status.statusCode)")
  2. // 输出 "The status code is 200"
  3. println("The status message is \(http200Status.description)")
  4. // 输出 "The status message is OK" 

注意:元组在临时组织值的时候很有用,但是并不适合创建复杂的数据结构。如果你的数 据结构并不是临时使用,

  请使用类或者结构体而不是元组。请参考类和结构体。 

4.1. 可选类型

 技术分享

 技术分享

4.1.1.nil的详解

 技术分享

4.1.2.总结 ?的使用场景

  · 声明Optional变量

  · 用在Optional值操作中,用来判断是否响应后面的操作

5.1.解包

 技术分享

5.1.1隐式解包的可选类型

 技术分享

隐式解包的可选类型例子:

 技术分享

6.1.Swift基本运算符

 技术分享

6.1.1.赋值运算符

 技术分享

 技术分享

6.1.2.数学运算符

 技术分享

 技术分享

 技术分享

 技术分享

 技术分享

6.1.3.比较运算符

 技术分享

 技术分享

6.1.4.三目运算符

 技术分享

 技术分享

6.1.5.范围运算符

 技术分享

6.1.6.逻辑运算符

 技术分享

 技术分享

7.1.字符与字符串

技术分享

技术分享

技术分享

技术分享

7.1.1.初始化空的字符串

 技术分享

7.1.2.变长字符串

技术分享

技术分享

7.1.3.字符计数

技术分享

7.1.4.组合字符串与字符

 技术分享

7.1.5.字符串格式化

 技术分享

7.1.6.字符串比较

技术分享

技术分享

7.1.7.字符串大小写

技术分享

7.1.8.字符串编码

技术分享

8.1.流程控制

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

9.1.条件语句

技术分享

技术分享

技术分享

技术分享

技术分享

9.1.2.区间范围匹配(Range Matching)

 技术分享

 技术分享

 技术分享

 技术分享

 技术分享

 技术分享

 技术分享

 技术分享

 技术分享

 技术分享

10.1.函数与闭包

主要内容: ·函数的定义与调用 ·函数参数与返回值 ·函数参数名称 ·函数类型

    ·函数嵌套 ·闭包表达式 ·尾随闭包 ·值捕获  

10.1.2.函数

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

C语言函数指针的写法

技术分享

OC语言的Block写法

技术分享

技术分享

·注意:swift语言调用C函数、OC函数时需引入下面的文件

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

10.1.3.闭包

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

闭包的总结

 技术分享

 

哈哈?? ,这是swift语言基础的详解的截图整理,希望对swift语言学习爱好者有所帮助。

感谢大家对支持。。谢谢

 

 

 

 

 

 

 

 

 

 

Swift语言的基础详解