gpt4 book ai didi

swift - 无法将类型 'String' 的值转换为预期的参数类型 'Bool'

转载 作者:搜寻专家 更新时间:2023-11-01 05:48:30 30 4
gpt4 key购买 nike

我正在尝试编写一个函数,如果字符串 str 以元音开头,该函数将返回 true。下面的代码可以正常编译

func beginsWithVowel(str: String) -> Bool {
if(str.characters.count == 0){
return false
} else if(str.characters[str.startIndex] == "a"){
return true
}
return false
}
beginsWithVowel(str: "apple")

问题是当我将第一个字符与多个字符进行比较时,例如

else if(str.characters[str.startIndex] == "a" || "e" || "i")

然后我收到错误“无法将类型‘String’的值转换为预期的参数类型‘Bool’”

我一直在摆弄代码,但到目前为止运气不佳,我们将不胜感激。谢谢你。

最佳答案

Swift 无法推断出您尝试创建的逻辑。 Swift 的逻辑变成了这样:

if(str.characters[str.startIndex] == "a" || "e" || "i")

相当于if(<Boolean expression> || "e" || "i")

相当于if(<Boolean expression> || <String expression> || String expression)

替代解决方案可以是:

if(["a", "b", "c"].contains(str.characters[str.startIndex])){

关于swift - 无法将类型 'String' 的值转换为预期的参数类型 'Bool',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46758593/

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