关于srtconv.parselnt的问题

yuwei · · 3372 次点击
1楼 <a href="/user/eric160" title="@eric160">@eric160</a> package main import ( &#34;fmt&#34; &#34;strconv&#34; ) func main() { var str = &#34;2942394&#34; //var num int //num, _ = strconv.ParseInt(str, 10, 0) //fmt.Println(num) fmt.Println(strconv.ParseInt(str, 10, 0)) } 这是代码。 已经是忽略了error的值了的,可是还是会报错 ./hello.go:13:9: cannot assign int64 to num (type int) in multiple assignment ![深度截图_选择区域_20190606173841.png](https://static.studygolang.com/190606/cc38f43c32df2e2d19e8f34efee64de5.png)
#2
更多评论
`func ParseInt(s string, base int, bitSize int) (i int64, err error)` 你最好贴一下你你的代码,这样好判断。 估计你的错误是这样: `a:=strconv.ParseInt(字符串,10,0)` 因为ParseInt有两个返回值,你只赋值了一个,所以编译会报错。应该这样: `a,_:=strconv.ParseInt(字符串,10,0)` 像这样` fmt.Println(strconv.ParseInt(字符串, 10, 0)) `不会报错,是因为你打打印出了两个值,你可以看一下你最后的输出,是不是有两个: `数值 &lt;nil&gt;`
#1
jan-bar
想要拥有,必定付出。
strconv.ParseInt本来返回第一个参数就是int64类型啊 ``` var n int64 n, _ = strconv.ParseInt(&#34;2942394&#34;, 10, 0) fmt.Println(n) n, _ := strconv.ParseInt(&#34;2942394&#34;, 10, 0) fmt.Println(n) ``` 上面2中用法没毛病
#3