2 回答

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
最簡(jiǎn)單的解決方案是將 to 轉(zhuǎn)換string為[]rune,因此您可以對(duì)其進(jìn)行迭代,但索引“向后”(或使用向下循環(huán)):
rs := []rune(s)
max := len(rs) - 1
for i := range rs {
r := rs[max-i]
fmt.Printf("%c ", r)
}
這將輸出(在Go Playground上嘗試):
r e v e t a h w ? g n i r t s e m o s
如果你想避免[]rune
轉(zhuǎn)換,你可以utf8.DecodeLastRuneInString()
這樣使用:
for {
r, size := utf8.DecodeLastRuneInString(s)
if r == utf8.RuneError {
break
}
fmt.Printf("%c ", r)
s = s[:len(s)-size]
}
這輸出相同,在Go Playground上試試這個(gè)。

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
你可以做:
runes:=[]rune(str)
for x:=len(runes)-1; x>=0; x-- {
// work with runes[x]
}
- 2 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報(bào)