需要练习的小伙伴可以去苹果的官方去敲一遍:
https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html
###一、语法糖if let 理解
代码片段一:
var optionalName: String? = "你好!"
var greeting = "Hello!"
if let name = optionalName {
greeting = "测试, \(name)"
print(greeting)
}
输出内容:测试, 你好!
代码片段二:
var optionalName: String? = nil
var greeting = "Hello!"
if let name = optionalName {
greeting = "测试, \(name)"
print(greeting)
}else{
greeting = "玩一玩"
print(greeting)
}
输出内容:玩一玩!
分析:语法糖:if let的搭配使用相精简了代码并切可读性也不差,从代码上我们可以看出如果可选值为nil条件语句就会跳过括号中的代码,否则的话,就会去解包可选值并将其配给常量let,这使得在代码块内可用的展开值可用。
###二、??(空合运算符)
在查看苹果官方文档时候看见??,第一反应怎么这家伙怎么这么想三目运算符呢,问了下度娘感觉这篇文章解释的真好。https://www.jianshu.com/p/3ede1ec31351
let nickName: String? = nil
let fullName: String = "John Appleseed"
let informalGreeting = "Hi \(nickName ?? fullName)"
分析:其实??(空合运算符)就做了一件很简单的事情,以上边代码为例,它其实就是对
nickName做了一个判断,如果判断nickName为nil的话就取默认的fullName的值,否则nickName不为nil,则将nickName解包后返回。
###二、hasSuffix和hasPrefix的区别
hasSuffix(string)返回一个布尔值表示字符串是否以指定的后缀结束。
如果一直返回true 如果不一致返回false
hasPrefix(string)返回一个布尔值表示字符串是否以指定的前缀开始。
如果一直返回true 如果不一致返回false
其实swfit中【hasSuffix和hasPrefix】与oc中的用法和含义是相同的。
本文深入解析Swift中的语法糖特性,包括if let语句的简洁性和可读性,空合运算符(??)的工作原理,以及hasSuffix和hasPrefix字符串操作方法的使用。通过实例展示这些特性如何提升代码效率。
352

被折叠的 条评论
为什么被折叠?



