Swift语言的基础详解

Posted 码农_指尖改变世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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和OC以及C语言的混编(不看后悔!)

详解swift和OC以及C语言的混编(不看后悔!)

快看Sample代码,速学Swift语言-基础介绍 快看Sample代码,速学Swift语言-语法速览

R语言基础知识详解及概括

图文详解 C 语言基础,来啦!

图文详解 C 语言基础,来啦!