REPL (Read-Eval-Print Loop“读取-求值-输出”循环,简称REPL)
设置环境:
打开终端 sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
运行 xcrun swift
@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)
- @objcprotocolSpeaker{
- funcSpeak()
- @optionalfuncTellJoke()
- }
柯里化函数