то напечается код символа, а что за магию делает этот ноль?
n := "55"
fmt.Println((n[0] - '0'))
какой из двух нолей?
который в '0'
а если делать минус - то что напечатается?
вычитает из первого значение ASCII код символа "0"
https://play.golang.org/p/2lgB1snx41G
т.е. это что... не конвертация типов, а манипуляции с аски-кодами (точнее юникод)? Типа в аски кодах 5 остоит от 0 на 5 и типа поэтому все совпало!? ну и ад... а без этого как? Аналогичная запись будет вида: fmt.Println(strconv.Atoi((string(n[0]))))
Строка - это последовательность байтов. "string"[1] вернёт второй с начала байт, а байт - это uint8, он же byte Нет, не юникод. Юникод-графемы доступны через for https://play.golang.org/p/rf0bQ0uI036
это не ад, ascii был специально придуман, чтобы такое было возможно. посмотри определение этого atoi, там будет тоже самое
Обсуждают сегодня