swift – 在防范中创建非可选项以测试保护条件

swift – 在防范中创建非可选项以测试保护条件,第1张

概述参见英文答案 > Using guard with a non-optional value assignment                                    1个 我目前有这样的功能…… // this is a propertyvar currentString: String = ""func doSomething() { let newString 参见英文答案 > Using guard with a non-optional value assignment                                    1个
我目前有这样的功能……

// this is a propertyvar currentString: String = ""func doSomething() {    let newString: String = goGetANewString()    guard newString != currentString else {        return    }    currentString = newString}

但我觉得有点奇怪的是我在守卫之外创建了newString.

如果我将它移动到后卫,那么它会抱怨它需要是可选的.

有没有办法在guard语句中创建newString并检查条件?

理想情况下,我喜欢这样的东西,但就像我说的那样,它不会这样.

func doSomething() {    guard let newString: String = goGetANewString(),newString != currentString else {        return    }    currentString = newString}
解决方法 “技巧”是使用带有 value-binding pattern的保护案例进行分配:

func doSomething() {    guard case let newString = goGetANewString(),newString != currentString else {        return    }    currentString = newString}
总结

以上是内存溢出为你收集整理的swift – 在防范中创建非可选项以测试保护条件全部内容,希望文章能够帮你解决swift – 在防范中创建非可选项以测试保护条件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1007741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存