Swift小计
发布时间:2020-12-14 02:13:43 所属栏目:百科 来源:网络整理
导读:REPL (Read-Eval-Print Loop “读取-求值-输出”循环,简称REPL ) 设置环境: 打开终端 sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 运行 xcrun swift 覆盖父类中的方法,需要使用 override 关键字 @objc用来表示协议是可选的 ?
REPL (Read-Eval-Print Loop“读取-求值-输出”循环,简称REPL) 设置环境: 打开终端 sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 运行 xcrun swift 覆盖父类中的方法,需要使用 override 关键字 @objc用来表示协议是可选的 ? 表示改类型是可选的! 表示强制解析 _ 表示通配符,代表任何值 "~="表示操作符在一定范围内匹配 is关键字 进行父类与子类之间的匹配和判断 as关键字检查对象类型是不是某个类的子类,并且想使用父类的属性或方法时,使用as关键字将判断的对象类型转换为父类型 通过“&”字符进行错误保护:运算符前添加“&”符号可以避免出错。例如,使用“&/”运算符代替“/”避免除以0的错误。
-Overflow/ underflow检测:检测你的运算符是否会溢出或者下溢,可以利用“&”运算符处理
funchello(fromNamename:String){
println(
"(name)sayshellotoyou!"
)
}
fromName 为外部参数,如果要使外部参数和内部参数名称一样,只需要在name前面加 #
出于一些原因希望在函数中跳过外部参数名 ,为外部函数添加
_
来解决
输入输出参数 inout,
操纵外部变量
var
name1=
"Mr.Potato"
name2=
"Mr.Roboto"
funcnameSwap(inoutname1:String,inoutname2:String){
letoldName1=name1
name1=name2
name2=oldName1
}
nameSwap(&name1,&name2)
如果想要有一个具有可选方法的协议,必须给协议加上一个@objc标签作为前缀(即使类不能兼容objective-C)。然后,给所有可选方法加上@optional标签作为前缀。
柯里化函数
柯里化(Currying),又称部分求值(Partial Evaluation),是一种函数式编程思想,就是把接受多个参数的函数转换成接收一个单一参数(最初函数的第一个参数)的函数,并且返回一个接受余下参数的新函数技术。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |