Go中的strconv.Atoi(基本计算器)
我试图在Go中制作一个基本的加法计算器(这里是complete noob),但每次我都得到一个0的输出。 这是代码:Go中的strconv.Atoi(基本计算器),go,calculator,strconv,Go,Calculator,Strconv,我试图在Go中制作一个基本的加法计算器(这里是complete noob),但每次我都得到一个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 a
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)
}
返回到分隔符之前(包括分隔符)的数据。因此,您的字符串实际上是“172312\n”
strconv.Atoi()
不喜欢这样,返回0。它实际上返回了一个错误,但您正在使用\uu
忽略它
您可以看到以下情况:
您可以使用来修剪换行符。返回数据,直到并包括分隔符。因此,您的字符串实际上是“172312\n”
strconv.Atoi()
不喜欢这样,返回0。它实际上返回了一个错误,但您正在使用\uu
忽略它
您可以看到以下情况:
您可以使用修剪工具修剪换行符
package main
import (
"fmt"
"strconv"
)
func main(){
ifirstnumber, err := strconv.Atoi("1337\n")
isecondnumber, _ := strconv.Atoi("1337")
fmt.Println(err)
fmt.Println(ifirstnumber, isecondnumber)
}