最佳答案
我有一个包含整数的字符串(已从文件中读取)。
我正在尝试使用 strconv.ParseInt()
将 string
转换成 int
。ParseInt
要求我提供一个位大小(位大小0、8、16、32和64对应于 int、 int8、 int16、 int32和 int64)。
从文件中读取的整数很小(也就是说,它应该适合一个普通的 int)。但是,如果传递一个位大小为0的值,则得到类型为 int64
的结果(可能是因为我运行的是64位操作系统)。
为什么会这样?我怎样才能得到一个正规的 int 呢?(如果有人有一个关于何时以及为什么我应该使用不同的 int 类型的快速入门书,那就太棒了!)
编辑: 我可以使用 int([i64_var])
将 int64转换为普通的 int。但是我仍然不明白为什么 ParseInt()
给我一个 int64,而我却要求一个比特大小为0的比特。