Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go中的strconv.Atoi(基本计算器)_Go_Calculator_Strconv - Fatal编程技术网

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

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

我试图在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 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)
}