gpt4 book ai didi

swift - 如何确保我在函数中返回正确的 bool 值?

转载 作者:行者123 更新时间:2023-11-28 07:17:51 25 4
gpt4 key购买 nike

我正在阅读 Apple 的 Swift 编程指南,并在第 146 页遇到以下功能:

func containsCharacter(#string: String, #characterToFind: Character) -> BOOL {
for character in string {
if character == characterToFind {
return true
}
}
return false
}

为什么 return false 片段出现在函数的此时?为什么这个函数看起来不像这样:

func containsCharacter(#string: String, #characterToFind: Character) -> BOOL {
for character in string {
if character == characterToFind {
return true
} else {
return false
}
}
}

该功能如何按照 Apple book 中的显示方式工作?

谢谢!

最佳答案

我想首先要说的是,您可能还没有意识到,return 语句会终止函数的执行。 return 语句的值被传递给调用者,执行返回给调用者。

那么,理解了这一点,让我们看看这个函数。它在字符串中搜索特定字符。它通过检查字符串的所有字符来寻找匹配项来实现这一点。如果找到匹配项,则返回 true。否则它继续到下一个字符。如果循环完成,则没有找到匹配的字符,因此该函数可以返回 false。它需要到达循环的末尾才能确定没有匹配。

按照您的方式编写,循环毫无意义。该函数保证从第一次迭代返回。所以循环永远不会超过第一次迭代,函数只会与第一个字符进行比较。而且,为了更好的衡量,如果字符串为空,则返回值将是未定义的。

关于swift - 如何确保我在函数中返回正确的 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com