Я не могу понять, почему я получаю это сообщение об ошибке во время выполнения. Он срабатывает даже с помощью самого простого однострочного: strconv.FormatUint(uint64(123), 64)
Почему я получаю ошибку Go «panic: strconv: незаконная база AppendInt/FormatInt»
Я понял что-то очень нехорошее здесь? Код компилируется просто отлично.
EDIT: найдено решение (как позже указано Тимом Купером). Я думаю, что the examples in the documentation запутаны:
s := strconv.FormatBool(true)
s := strconv.FormatFloat(3.1415, 'E', -1, 64)
s := strconv.FormatInt(-42, 16)
s := strconv.FormatUint(42, 16)
Когда вы используете только основание 64 и 16 в примерах, это довольно легко сделать неверный вывод. Однако теперь, когда я знаю, что не так, сообщение об ошибке имеет гораздо больше смысла.
Что касается вашего редактирования: нет, где в документах используется 64 для базы; он используется только как бит. –
Если вы хотите base64, как и для представления двоичных данных в не-двоично-безопасных средах, 'encoding/base64' дает вам это. – twotwotwo
Является ли размер бит также для поплавка в примере выше? Я редактировал вопрос больше, чтобы сделать его более очевидным, к какой части документации, на которую я ссылался. Извините за путаницу. –