为什么我会收到 Go 错误 "panic: strconv: illegal AppendInt/FormatInt base"
Why I do get Go error "panic: strconv: illegal AppendInt/FormatInt base"
我不明白,为什么我在 运行 时间内收到此错误消息。即使是最简单的一行代码,它也会触发:
strconv.FormatUint(uint64(123), 64)
我是不是理解错了?代码编译得很好。
编辑:找到了解决方案(正如蒂姆库珀后来指出的那样)。我认为 the examples in the documentation 令人困惑:
s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)
当你在例子中只使用base 64和16时,很容易得出错误的结论。但是,既然我知道出了什么问题,错误消息就更有意义了。
不支持 Base 64,如 the documentation 中指定:
func FormatUint(i uint64, base int) string
FormatUint returns the string representation of i in the given base, for 2 <= base <= 36.
我不明白,为什么我在 运行 时间内收到此错误消息。即使是最简单的一行代码,它也会触发:
strconv.FormatUint(uint64(123), 64)
我是不是理解错了?代码编译得很好。
编辑:找到了解决方案(正如蒂姆库珀后来指出的那样)。我认为 the examples in the documentation 令人困惑:
s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)
当你在例子中只使用base 64和16时,很容易得出错误的结论。但是,既然我知道出了什么问题,错误消息就更有意义了。
不支持 Base 64,如 the documentation 中指定:
func FormatUint(i uint64, base int) string
FormatUint returns the string representation of i in the given base, for 2 <= base <= 36.