Swift语言语法(运算符)

来源:互联网 发布:tensorflow 3dcnn 编辑:程序博客网 时间:2024/06/06 15:54

//1、基本运算符

1Swift支持C标准库中的大多数运算符并提升了各自的兼容性,从而可以排除常见的编码错误

2、分配符 (=)不会返回一个值,这样可以防止你因粗心将 等于(==)写成 赋值运算符(=) 而引起的错误

3、算术符(+-*/%)会检查与驳回值溢出,这样可以避免值类型的数据在超过值类型所允许的存储范围时,出现意想不到的数据。你可以选择使用Swift所提供的值溢出运算符进行量化溢出的行为,详细见溢出操作符。

4、与C语言不同,Swift允许你对浮点数执行取余运算

5Swift提供两个范围的运算符 (a..b  a...b),作为表示一个数值范围的简写方式,这点C不支持


术语

操作符都是一元、二元或三元:

· 一元操作符操作单个对象 (-a)。一元前缀操作符出现在对象前(!b),一元后缀操作符在对象后出现(i++)

· 二元操作符操作两个对象(2 + 3),并且操作符位于两个元素中间。

· 三元操作符对两个对象进行操作。与C一样,Swift仅支持一个三元操作符:三元条件操作符(a ? b : c)(?前面一定需要至少一个空格)

操作符所影响的值被称为操作数。表达式1 + 2中,符号 + 是一个二元运算符并且两个操作数分别为 12


//2、赋值运算符

let b = 10

var a = 5

a = b               //b的值去初始化或更新a的值


let (x, y) = (1, 2) // x等于1, 并且y等于2


//CObjective-C不同,Swift中赋值运算符并不将自身作为一个值进行返回。所以以下的代码是不合法的:

//此特性帮助你避免因粗心将 等于(==)写成 赋值运算符(=) 而引起的错误。因为 if a = b 这样写是无效的


if a = b {

    // 错误, 因为a = b并不会返回一个值

}


//3、数学运算符

Swift支持所有数字类型的四个标注运算符:

· 加法(+)


· 减法(-)


· 乘法(*)


· 除法(/)

1 + 2 // equals 3

5 - 3 // equals 2

2 * 3 // equals 6

10.0 / 2.5 // equals 4.0

//不同于CObjective-C,默认情况下Swift的算术运算符不允许值溢出。

//你可以通过Swift的溢出运算符来选择值的溢出情况(例如 a & + b)。详见 Overflow Operators


//两个字符,或者一个字符一个字符串,能组合成一个新的字符串:

let dog: Character = "

0 0