这是我的代码:
包主
import (
"fmt"
"reflect"
"strconv"
)
func main() {
i, _ := strconv.ParseInt("10", 10, 8)
fmt.Println(reflect.TypeOf(i))
}
我预计i
长度为 8 位(第三个参数strconv.ParseInt
)。然而它是 int64 (并且文档指出strconv.ParseInt
将返回 int64)。
如果 ParseInt 总是返回 int64,那它还有什么意义(为什么不直接使用 Atoi 呢?)
请注意该函数的文档:
bitSize 参数指定结果必须的整数类型
适合。位大小 0、8、16、32 和 64 对应于 int、int8、
int16、int32 和 int64。对于低于 0 或高于 64 的 bitSize,错误是
回。
因此保证您可以将结果转换为字节byte(i)
.
Go 还没有泛型,所以只有一个ParseInt
可以接受指向多个整数类型的指针是很困难的。相反,保证是通过bitSize
争论
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)