strconv.ParseInt:解析“18446744073709551615”:值超出范围

使用 解析 uint64 最大值时是否为正常行为?strconv.ParseInt

i, err := strconv.ParseInt("18446744073709551615", 10, 64)
fmt.Println(i, err)

我得到一个错误:,当uint64的最大允许值为:18446744073709551615"strconv.ParseInt: parsing "18446744073709551615": value out of range"

你能解释一下这种行为吗?

https://golang.org/src/builtin/builtin.go?s=1026:1044#L26


慕少森
浏览 136回答 2
2回答

慕妹3146593

调用 ParseUint 来解析无符号整数。ParseInt 函数分析有符号整数。最大有符号整数为 9223372036854775807。

一只甜甜圈

根据评论,我复制了您的代码如下:package mainimport (&nbsp; &nbsp; "fmt"&nbsp; &nbsp; "strconv")func main() {&nbsp; &nbsp; i, err := strconv.ParseUint("18446744073709551615", 10, 64)&nbsp; &nbsp; fmt.Println(i, err)}输出:18446744073709551615 <nil>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go