如何在 Go 中“反向范圍”遍歷 a 的單個字符string?例如,給定s := "some string \u1222 whatever"- 我想做類似的事情:for i, v := ~reverse~ range s {
}請注意,我對通過標準庫的解決方案感興趣,而不必自己編寫函數。我知道大量現有的圖書館可以做到這一點,但這無關緊要。此外 - 我不能使用len(s)和做:for i := len(s) - 1; i >= 0; i-- {
}因為 Go 內置len函數僅返回字符串中的字節數(不適用于非 ASCII 字符串)。由于上述原因,我也無法執行指令提供的索引len(s) - k - 1在哪里。krangeUPD1:可以對 s 進行反向(從右到左)查找,因為我們可以通過每個字節或字節組的高位utf-8 rune輕松識別s。rune從The Go Programming Language書: 如您所見,我們可以從最后一個字節開始,我們需要向左掃描最多 4 個字節才能得到一個.rune
反轉字符串范圍
ibeautiful
2022-10-17 15:40:24