gpt4 book ai didi

go - Go 中的 strconv.Atoi(基本计算器)

转载 作者:IT王子 更新时间:2023-10-29 02:29:02 31 4
gpt4 key购买 nike

我正在尝试用 Go 制作一个基本的加法计算器(这里完全是菜鸟),但每次我得到的输出都是 0。

这是代码:

package main

import (
"fmt"
"strconv"
//"flag"
"bufio"
"os"
)

func main(){
reader := bufio.NewReader(os.Stdin)
fmt.Print("What's the first number you want to add?: ")
firstnumber, _ := reader.ReadString('\n')
fmt.Print("What's the second number you want to add?: ")
secondnumber, _ := reader.ReadString('\n')
ifirstnumber, _ := strconv.Atoi(firstnumber)
isecondnumber, _ := strconv.Atoi(secondnumber)
total := ifirstnumber + isecondnumber
fmt.Println(total)

}

最佳答案

bufio.Reader.ReadString()返回直到并包括分隔符的数据。所以你的字符串实际上最终是 "172312\n"strconv.Atoi() 不喜欢这样并返回 0。它实际上返回了一个错误,但您使用 _ 忽略了它。

你可以看到 this example 发生了什么:

package main

import (
"fmt"
"strconv"
)

func main(){
ifirstnumber, err := strconv.Atoi("1337\n")
isecondnumber, _ := strconv.Atoi("1337")
fmt.Println(err)
fmt.Println(ifirstnumber, isecondnumber)
}

您可以使用 strings.Trim(number, "\n") 修剪换行符.

关于go - Go 中的 strconv.Atoi(基本计算器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47107014/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com