У меня есть строка, содержащая целое число (которое было прочитано из файла).
Я пытаюсь преобразовать 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.