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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大UTF-8字符串的快速fmt.Scanf()

大UTF-8字符串的快速fmt.Scanf()

Go
慕妹3242003 2021-05-05 16:23:59
我有大約8000000個UTF-8字符的字符串。掃描fmt.Scanf()大約需要10秒鐘,如何才能更快地完成掃描?我有一個用于Cscanf()函數(shù)的Go包裝器,它是由我的老師寫的,作為Go的fmt.Scanf()中某些錯誤的解決方法,它可以在1-2秒內(nèi)起作用,但是我不喜歡將輔助包裝用于這樣的簡單任務(wù)。您能建議一種更快的方式來讀取純Go中的字符串嗎?
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經(jīng)驗 獲得超4個贊

找到了解決方案。bufio工作得更快(因為它被緩沖了,而fmt函數(shù)沒有,并且它不解析任何內(nèi)容):


reader := bufio.NewReader(os.Stdin)

str, _ := reader.ReadString('\n')   // Like fmt.Scanf("%s", &str), but faster

var x, y rune

fmt.Fscanf(reader, "%c %c", &x, &y) // I need to read something else

                                    // (see comments for the question)

                                    // It's easy, as I can use fmt.Fscanf

...甚至比那個Cscanf()包裝器還快。


查看完整回答
反對 回復(fù) 2021-05-31
  • 1 回答
  • 0 關(guān)注
  • 248 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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