var str = "Hello"
print(str.characters) // CharacterView(_core: Swift._StringCore(_baseAddress: Optional(0x000000011c9a68a0), _countAndFlags: 5, _owner: nil))
print(str.characters.index(of: "o")!) // Index(_base: Swift.String.UnicodeScalarView.Index(_position: 4), _countUTF16: 1)
print(Array(str.characters)) // ["H", "e", "l", "l", "o"]
print(str.characters.map{String($0)}) //["H", "e", "l", "l", "o"]
for character in str.characters{
print(character)
}
// H
// e
// l
// l
// o
我看了this的問題。我從Swift參考文獻中找到String
,發現:var characters: String.CharacterView
。String成員'characters'返回什麼?
然而我不知道究竟是str.characters
返回?它是如何,我可以列舉到就那麼輕易,或轉換它給數組或地圖,但然後再打印本身甚至索引時把它打印亂碼等等
我敢肯定我不明白的是因爲不瞭解characterView
。我希望有人能夠向外行介紹一下它在這個問題上的作用和意義。
您不僅應該查看'CharacterView'文檔,還應該查看它符合的協議的文檔,這些都是您正在查找的內容。例如,您可以枚舉'CharacterView',因爲它符合'Sequence'協議。 – Fantattitude
@Fantattitude我只是重新讀一遍,仍然失去了 – Honey