第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么排序“tan”!=“ant”?

為什么排序“tan”!=“ant”?

Go
吃雞游戲 2023-07-04 16:56:06
我試圖通過對字符串中的字節(jié)切片進(jìn)行排序(使用 sort.Slice)來對字符串中的字符進(jìn)行排序。我使用的代碼有時(shí)會(huì)得到正確的結(jié)果,但有時(shí)會(huì)產(chǎn)生我無法理解的結(jié)果。package mainimport (    "fmt"    "sort")func main() {    for _, s := range []string{"nat", "tan", "ant"} {        b := []byte(s)        sort.Slice(b, func(i int, j int) bool { return s[i] < s[j] })        fmt.Println(s, string(b))    }}https://play.golang.org/p/bC9QWq7aF3G我希望“nat”、“tan”和“ant”都被排序?yàn)椤癮nt”,但“tan”被排序?yàn)椤癮tn”。
查看完整描述

1 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

將您的sort.Slice行更改為:

sort.Slice(b, func(i int, j int) bool { return b[i] < b[j] })

sort.Slice需要您的less函數(shù)來比較切片中的值,以便按照您想要的方式進(jìn)行排序。你的錯(cuò)誤是你使用了s而不是b在你的less函數(shù)中。


查看完整回答
反對 回復(fù) 2023-07-04
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)