Почему я получаю ошибку Go "panic: strconv: недопустимая база AppendInt/FormatInt"
Я не могу понять, почему я получаю это сообщение об ошибке во время выполнения. Он запускается даже с самой простой однострочной:strconv.FormatUint(uint64(123), 64)
Я понял что-то очень неправильно здесь? Код компилируется просто отлично.
РЕДАКТИРОВАТЬ: нашел решение (как позже указал Тим Купер). Я думаю, что примеры в документации сбивают с толку:
s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)
Когда вы используете только базы 64 и 16 в примерах, очень легко сделать неправильный вывод. Однако теперь, когда я знаю, что было не так, сообщение об ошибке имеет гораздо больше смысла.
1 ответ
Решение
Base 64 не поддерживается, как указано в документации:
func FormatUint(i uint64, base int) string
FormatUint возвращает строковое представление i в заданной базе для 2 <= base <= 36.