У меня есть строка, содержащая целое число (которое было прочитано из файла).
Я пытаюсь преобразовать string
в int
с помощью strconv.ParseInt()
. ParseInt
требует, чтобы я предоставлял битрейзер (размеры бит 0, 8, 16, 32 и 64 соответствовали int, int8, int16, int32 и int64).
Целое число, считанное из файла, невелико (т.е. оно должно соответствовать нормальному int). Однако, если я передаю битовую цифру 0, я получаю результат типа int64
(предположительно, потому что я работаю на 64-битной ОС).
Почему это происходит? Как я могу получить нормальный int? (Если у кого-то есть быстрый пример, когда и почему я должен использовать разные типы int, это было бы потрясающе!)
Изменить: я могу преобразовать int64 в обычный int, используя int([i64_var])
. Но я до сих пор не понимаю, почему ParseInt()
дает мне int64, когда я запрашиваю битрейт 0.