gpt4 book ai didi

string - SWIFT:字符串中的下标 int(Cnndition 有效,赋值无效)

转载 作者:行者123 更新时间:2023-11-28 13:10:45 25 4
gpt4 key购买 nike

我想分配字符串的第一个字符。当然有一个高级功能,但对我来说(我来自 C++),当简单地使用 [index] 时,它更容易阅读。所以我定义了一个String类型的扩展:

extension String {

subscript (i: Int) -> Character {
return self[advance(self.startIndex, i)]
}

subscript (i: Int) -> String {
return String(self[i] as Character)
}

...

这适用于以下情况:

if (s[0] == "u") 

但是当像这样分配这个值时

var c = s[0]

我得到一个错误,编译器不能用 int 类型下标字符串。但是区别在哪里呢?

最佳答案

我认为编译器无法推断出 subscript 的返回类型,因为这两个 subscript 具有相同的输入签名。

因此您必须指定要使用的下标。像这样,

var c:Character = s[0]

var c:String = s[0]

关于string - SWIFT:字符串中的下标 int(Cnndition 有效,赋值无效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31401779/

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