1,处理变量的可选值时,你可以在操作(比如方法、属性和脚本)之前加?。如果?之前的值是nil,?后面的东西都会被忽略,并且整个表达式返回nil
let optionalName: String? = nil
var greetin ="Hello"
iflet name = optionalName{
greetin = "Hello,\(name)"
}else{
print("空数据\(optionalName)")
}
let optionalSquare: Square? =Square(sideLength:2.5, name: "optional square")
let sideLength = optionalSquare?.sideLength
2,string字符串
字符串字面量可以包含以下特殊字符:
转义字符\0(空字符)、\\(反斜线)、\t(水平质表符)、\n(换行符)、\r(回车符)、\"(双引号)、\'(单引号)
swift中得字符串是否可以修改根据定义的是变量还是常量来决定
3,函数参数的命名可以使用外部参数名,指出各个实参的用途是什么
func join2(s1: String, s2: String, withKoiner joiner: String) -> String
{
return s1 + joiner + s2
}
withKoiner作为第三个参数的外部参数名,用空格和joiner隔开,告知用途
join2("hello", s2: "world", withKoiner: "+")
4,在实例方法中修改值
结构体和枚举是值类型,一般情况下,值类型的属性不能在他的实例方法中被修改,但是我们可以在实例方法前加mutating(变异),然后这个方法就可以从方法内部改变它的属性