Swift 表达式
前言
- Swift 语言使用表达式来表示程序中的最小单位,通常一个表达式是由数字、字符、运算符、变量、常量、函数调用等可以求得值的有意义的排列组成的组合。 
- 根据组合方式的不同,表达式可以分为基本表达式、多元表达式、前缀表达式、后缀表达式。 
1、基本表达式
- 1) - self表达式- 用于对当前类型或者类型实例自身进行引用,从而访问其内部成员。 - self.menberFunc
 
 
- 2) - super表达式- 超类表达式,也可以理解为父类,用于访问当前类或者实例的父类成员或者方法。 - super.menber
 
 
- 3)隐式成员表达式 - 用于在可以推断出类型的上下文中引用这个类型的成员。 - var poNum = SomType.max
 poNum = .min
 
 
- 4)圆括号表达式 - 用于划分运算符优先级和创建元组,通常由一对圆括号和若干个自表达式和逗号共同构成。 - (表达式1, lab2:表达式2, lab3:表达式3, ...)
 
 
- 5)通配符表达式 - 主要使用符号 - _来忽略表达式中的某个参数,这和正则表达式的通配符的概念是不同的。- (a, _) = (1, 2)
 
 
2、前缀表达式
- 1)函数调用表达式 - 通常由函数名加上参数列表组成。 - FuncName(value1, lab2:value2)
 
 
- 2)初始化函数表达式 - 即某个类型用于初始化其实例的函数表达式。 - SomeClass.init
 
 
- 3)显式成员表达式 - 是显式的访问类型、元组或者其他模块成员变量的一种方式。 - var cat:Tanimal()
 var iFoots = cat.hasfoot
 
 
3、后缀表达式
- 1)后缀 self 表达式 - 通常有两种形式的后缀表达式。 - 表达式.self:这种形式的表达式返回表达式的自身的值。
- 类型实例.self:这种形式的表达式返回当前实例所属的类型,通常用于需要动态获取实例类型的场景中。
 
 
- 2)动态类型表达式 - 专门用于动态获取类型的表达式。 - 标准形式是:表达式.dynamicType,其中表达式不能为类型名称。
- 可以通过使用 .dynamicType获得当前实例对象所属的类型,并访问其类方法。
 
- 标准形式是:
 
- 3)附属脚本表达式 - 可以通过附属脚本表达式访问 getter/setter的方法,他的基本形式是:表达式1 [index 表达式2]
 
- 可以通过附属脚本表达式访问 
- 4)强制取值表达式 - 使用 !来强制获取某个不为nil的可选表达式的值。
 
- 使用 
- 5)可选链表达式 - 使用 ?来声明一个可选类型变量或者对象,当对象不为nil时就可以访问对象的方法或者成员。
- 在一个后缀表达式的子表达式中,有一个可选表达式,那么只有最外层的表达式返回的才是一个可选值。
 
- 使用 
Swift 表达式的更多相关文章
- Programiz 中文系列教程·翻译完成
		原文:Programiz 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 Programiz C ... 
- Swift中的Void类型与空元祖表达式
		可能有不少Swift开发者会忽略这么一个细节:在Swift中,Void类型其实是一个别名类型,而其真正的类型为(),即一个空元祖(empty tuple)! 这种语言特性给Swift带来了一些比较方便 ... 
- Swift 概述及Swift运算符和表达式
		Swift 是用于设计 iOS 及 Mac OS X 应用的一门新 语言. Swift 特点 • Swift 保留了 C 与 Objective-C 的优点,并摒弃 其为了兼容 C 语言所 ... 
- Swift使用闭包表达式
		Swift中的闭包表达式很灵活,其标准语法格式如下:{ (参数列表) ->返回值类型 in 语句组}其中,参数列表与函数中的参数列表形式一样,返回值类型类似于函数中的返回值类型,但不同的是 ... 
- Swift中的注释以及表达式
		Swift程序有两类注释:单行注释(//)和多行注释(/*...*/).注释方法与C.C++和Objective-C语言都是类似的,下面详细介绍一下.1. 单行注释单行注释可以注释整行或者一行中的一部 ... 
- Swift的闭包(一):闭包简介、闭包表达式的优化
		定义:Closures are self-contained blocks of functionality that can be passed around and used in your co ... 
- Swift 闭包表达式
		闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C 中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包的形式主要有三 ... 
- 《从零开始学Swift》学习笔记(Day 9)——离开表达式你试试!
		原创文章,欢迎转载.转载请注明:关东升的博客 表达式啊是很重要地. 在Swift中,表达式有3种形式. 不指定数据类型 var a1 = 10 指定数据类型 var a1:Int = 10 使用分号 ... 
- [Swift通天遁地]五、高级扩展-(14)扩展String快速计算字符串中的各种数学表达式
		★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ... 
随机推荐
- [Canvas]更多的球
			欲观看动态效果请点此下载代码并用Chrome或者Firefox打开. 图例: 代码: <!DOCTYPE html> <html lang="utf-8"> ... 
- LXC 容器集chroot使用说明
			1.1 LXC是什么? 1.1.1 关于LXC LXC,其名称来自Linux软件容器(Linux Containers)的缩写,一种操作系统层虚拟化(Operating system–level vi ... 
- python 导出mongoDB数据中的数据
			import pymongo,urllibimport sysimport timeimport datetimereload(sys)sys.setdefaultencoding('utf8')fr ... 
- Discuz常见小问题-如何取消帖子置顶
			定位到一个帖子,然后顶部会有置顶的选项,还是勾选置顶,后面下拉列表选择无,然后点击确定,提示解除置顶 
- 不能设置sublime text作为默认打开程序
			删除 HKEY_CURRENT_USER\Software\Classes\Applications下的Sublime_Text.exe项.你就发现可以设置为默认打开方式了 
- SQL Server配置支持中文
- kettle 如何将excel文件导入oracle数据库?
			1.情景展示 昨日,有一批数据需要导入数据库,但是,plsql不知为何不能导了,于是,我选择使用kettle完成excel数据的导入. 2.准备工作 将对应的数据库所需的jar包拷贝至其lib目录 ... 
- 【DB2】监控动态SQL语句
			一.db2监控动态SQL(快照监控) db2示例用户登陆后,使用脚本语句db2 get snapshot for all on dbname>snap.out 也可以使用db2 get snap ... 
- Aspect实现对方法日志的拦截记录
			在实际的业务系统中,我们通常都希望程序自动的打印方法的入参和返回值,某些特定的方法可能不想打印返回值(返回数据过大,打印日志影响效率),特有了下面的实现. 1.忽略返回值的java注解类 import ... 
- 纪念品分组(NOIP2007)
			纪念品分组(NOIP2007)[题目描述] 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作. 为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把 购来的纪念品根据价格进行分组,但每组最多只 ... 
