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

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

從 exec.Command 輸出解析整數(shù)

從 exec.Command 輸出解析整數(shù)

Go
BIG陽 2022-01-17 17:49:43
我目前正在嘗試從我的 Go 程序內(nèi)部運(yùn)行一個命令并從響應(yīng)中解析一個整數(shù)。該命令返回如下輸出:6fyb_src/ex1.fyb (1) 獲勝!strings.Split用and分割行并刪除空格strings.TrimSpaces可以正常工作。但是,在嘗試將數(shù)字解析為整數(shù)時,出現(xiàn)以下錯誤:恐慌:strconv.ParseInt:解析“0 \r1 \r2 \r3 \r4 \r5 \r6”:語法無效但是將我嘗試解析的字符串打印到終端會產(chǎn)生以下結(jié)果:6我真的不知道從這里去哪里。這個數(shù)字對我來說顯然看起來像一個整數(shù)。錯誤消息也沒有用(至少對我來說)。有人有想法嗎?編輯:我正在運(yùn)行的代碼    out, _ := exec.Command(pwd+"/osx_fukyobrane_amd64", "fyb_src/"+filename, "fyb_src/salty.fyb", "t").CombinedOutput()    parts := strings.Split(string(out), "\n")    fmt.Println(parts[0])    rounds, err := strconv.Atoi(strings.TrimSpace(parts[0]))    if err != nil {        panic(err.Error())    }
查看完整描述

3 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗 獲得超6個贊

看來您的問題是parts[0]包含字符串"0 \r1 \r2 \r3 \r4 \r5 \r6"而不是數(shù)字。

strconv.Atoi 函數(shù)只尋找一個要解析的數(shù)字 - 我假設(shè)您在這種情況下試圖獲得第一個“0”。如果是這樣,問題是這段代碼:strings.Split(string(out), "\n")只尋找“\n”而不是“\r”,這顯然是從osx_fukyobrane_amd64.

一種解決方案是像這樣拆分行:

regexp.MustCompile(`[\r\n]+`).Split(parts[0], -1)

這會將多行合并為一行,并將 \r、\n 和 \r\n(或其他奇怪的組合)視為有效的換行符。


查看完整回答
反對 回復(fù) 2022-01-17
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗 獲得超9個贊

使用strings.Fields代替Split,它會自動處理\n和\r。


這也比使用 regexp 快得多,后者在 Go 中相當(dāng)慢,盡管它正在得到改進(jìn)。


func splitAndTrim(line string) []string {

    out := strings.Fields(line)

    for i, s := range out {

        out[i] = strings.TrimSpace(s)

    }

    return out

}


查看完整回答
反對 回復(fù) 2022-01-17
?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗 獲得超10個贊

看起來那條線上可能有一些額外的轉(zhuǎn)義數(shù)據(jù)。嘗試按空間分割并使用它。


out, _ := exec.Command(pwd+"/osx_fukyobrane_amd64", "fyb_src/"+filename, "fyb_src/salty.fyb", "t").CombinedOutput()

parts := strings.Split(string(out), "\n")


parts = strings.Split(parts, " ")


fmt.Println(parts[0])


rounds, err := strconv.Atoi(strings.TrimSpace(parts[0]))

if err != nil {

    panic(err.Error())

}


查看完整回答
反對 回復(fù) 2022-01-17
  • 3 回答
  • 0 關(guān)注
  • 221 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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