初学者问题:Func返回字符串和数组

我正在尝试操作基本的 Swift 数据类型,并尝试为我从 Swifts 文档中练习的简单函数示例添加一个(基本)复杂层。我能够作为一个简单的数组返回,但是当我尝试在字符串中返回一个数组时,我遇到了错误。我已经阅读了所有 Swift 数组文档,尝试先解决这个问题,但没有运气。

这是我成功返回数组的代码:

 func namesList(person: String) -> [(String)] {
        let register = ["RoboCop", person, "Terminator"]
        return register.sorted()
    }

...和我不成功的代码:

func namesList(person: String) -> [(String)] {
    let register = "The alphabetic order of names are (["RoboCop", person, "Terminator"])"
    return register.sorted()
}

我认为问题出在我的返回参数上,但找不到返回字符串和数组的方法?

非常感谢

回答

.sorted()对 Sequence 进行操作,Array 和 String 都是 Sequences。[String].sorted(你的第一个例子)返回一个[String]. String.sorted(您的第二个示例)返回 a [Character],因为 String 由 Characters 组成。

您的第二个示例不是“嵌套在字符串中的数组”。它只是一个字符串。(...)执行字符串插值。它不嵌套任何东西。

如果要返回字符串,则需要返回字符串。

func namesList(person: String) -> String {
    let register = ["RoboCop", person, "Terminator"].sorted()
    return "The alphabetic order of names are (register)"
}

作为一个非常小的点,[(String)]不寻常的语法可能会让有经验的 Swift 开发人员感到困惑。写这个的正确方法是[String]没有额外的括号。


以上是初学者问题:Func返回字符串和数组的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>