Swift基本知识点

15. June 2016 Swift 0
带有默认参数值得形参,Swift会自动给它生成一个跟形参名相同的外部参数名,调用时候需要加上参数名。在参数名称添加_,调用时候可以忽略.
在没有第三方变量的情况下,可以使用第一种方法 异或运算符来计算,第二种方法 把两个数的和赋值给其中一个人,然后再减去。
swift语言是一门大小写敏感的语言,
浮点型数据被swift默认推断为double
swift布尔值只有true和false,true为真,false为假
通过访问description属性输出字符值
swift语言使用值传递作为默认字符串的拷贝方式
可选类型的变量在有值的时候返回值,没有值的时候不会返回任何东西,包括false
nil不能用于非可选的变量或者常量
元组通过“.”加下标和键名来访问
类型别名这种机制在某些应用场景非常有效,比如在防止代码泄漏的时候(彻悟)
a===b判断两个对象是否引用同一个类实例
溢出加法“&+”,溢出减法“&-”,溢出乘法“&*”;出发运算符“/”和求余出现溢出时,系统自动进行自动截断。
hash符号“#”作为参数名称的前缀,使用名称相同的本地参数名和外部参数名。
Currying在计算机称为柯里化,
func sum(a:Int)(b:Int)->Int{
     return a+b }
var sumA = sum(2);
var sumB = sumA(b: 3);
print(sumB)
var sumBc = sumA(b: 6)
print(sumBc)
 Swift严格要求变量在使用之前必须进行初始化
数组和元组的定义
var  arr = [String]()
var arrs = Array<String>()
ding dic = Dictionary<Int,Int>()
var dics = []
swift中三种必包形式:全局函数,子嵌套函数,匿名函数体
函数必包是引用类型。
通配符表达式“_”来忽略表达式中的某个参数。
存储属性定义时候,需要为每一个属性定义一个默认值,也可在初始化的时候设置属性的初始值,如果初始值不定义默认值,在调用super.init()会出错,除非明确定义了隐式解析可选。
常量属性并不意味着绝对不能变化,如果是类,就可以重新复制(类是引用类型)
lazy修饰的存储属性,叫懒惰储存属性,只有在第一次被使用时才进行初值计算,当属性初始值需要复杂或高代价的设置,它才需被赋值时候,懒惰属性就排上用场了。
lazy属性实例初始化之前就应该被赋值,只能用var定义,且在全局变量中不需要显示的指定lazy属性,所有全局变量都是延迟计算的。
计算属性都要使用var关键值定义。
 Int类型的长度和当前系统平台一样,在32系统平台上,Int和UInt是32,在64位系统上是64
swift数字超过了存储范围,直接报错。

let d1=12.5    let d2=0.125e2, e2为10的二次方,

let d3=0xC.8p0  为 (12+8/16)*2^0,     p0位2的零次方

使用 pow(a,b)表示任何数字的指数形式。

swift中赋值运算符没有返回值。防止==和=用错。

swift可以对浮点数进行取余,8%2.5=0.5 //被Swift的强大震惊了。

使用多个变量接收元祖数据

为语句加上标签,可以指定跳到那个语句执行。在循环跳出(break)时,可以跳出指定多层循环。

swift中switch case 条件可以填写区间,如(-2...2,-2...2)

Leave a Reply

Your email address will not be published. Required fields are marked *