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

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

從 stdin 讀取到 int 的字符串的類型轉(zhuǎn)換給我一個(gè) 0

從 stdin 讀取到 int 的字符串的類型轉(zhuǎn)換給我一個(gè) 0

Go
千巷貓影 2023-06-12 10:53:58
代碼:reader := bufio.NewReader(os.Stdin)fmt.Print("Enter a number")input,_ := reader.ReadString('\n')fmt.Printf("Type of the entered value is %T\n",input)fmt.Println(input)out,_ := strconv.Atoi(input)fmt.Printf("Type now is: %T\n", out)fmt.Printf("Value now is %d\n",out)fmt.Println(out)Golang 的完全初學(xué)者。我試圖解決來自 r/dailyprogrammer 的問題之一。我用代碼片段讀取了來自 SO 的輸入,以及 strconv.Atoi 函數(shù)。這個(gè)函數(shù)的例子很有意義,但是當(dāng)我將它應(yīng)用到我從標(biāo)準(zhǔn)輸入讀取的輸入時(shí),它給了我 0。
查看完整描述

1 回答

?
繁花如伊

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

如果稍微更改一下代碼,您會(huì)發(fā)現(xiàn)它strconv.Atoi(input)返回了一個(gè)錯(cuò)誤。我希望您現(xiàn)在已經(jīng)學(xué)到了關(guān)于 Go 如何進(jìn)行錯(cuò)誤處理的重要一課。


錯(cuò)誤是:strconv.Atoi: parsing "1\n": invalid syntax


out, err := strconv.Atoi(input)

if err != nil {

    fmt.Printf("Error is: %v\n", err)

}

解決此問題的一種方法是input使用strings.TrimSuffix()進(jìn)行修剪:


reader := bufio.NewReader(os.Stdin)

fmt.Print("Enter a number")

input, _ := reader.ReadString('\n')

input = strings.TrimSuffix(input, "\n")

fmt.Printf("Type of the entered value is %T\n", input)

fmt.Println(input)

out, err := strconv.Atoi(input)

if err != nil {

    fmt.Printf("Error is: %v\n", err)

}

fmt.Printf("Type now is: %T\n", out)

fmt.Printf("Value now is %d\n", out)

fmt.Println(out)

您還可以使用Scanner,它不需要您刪除\n:


scanner := bufio.NewScanner(os.Stdin)

fmt.Print("Enter a number")

scanner.Scan()

input := scanner.Text()


查看完整回答
反對(duì) 回復(fù) 2023-06-12
  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報(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)