Size: a a a

Golang Developers — русскоговорящее сообщество

2020 September 15

А

Анатолий in Golang Developers — русскоговорящее сообщество
да, если так то ладно, похоже на странную правду
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
На очень странную, я бы сказал.
Не понятно, какую проблему это решает)
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
И очень интересно предусмотрен ли в checkDigitCalculate вариант с переполнением, а то может некрасиво получиться))
источник

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
x-foby
string([]byte{checkDigit+48}) или string([]rune{checkDigit+48})
Да, тоже на rune() переделал.
источник

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
x-foby
И очень интересно предусмотрен ли в checkDigitCalculate вариант с переполнением, а то может некрасиво получиться))
Вряд ли... Сделай PR плиз.
источник

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
x-foby
1. Берём строку
2. Вычисляем чек-сумму (одно число)
3. Сдвигаем на 48
4. Прибавляем к исходной строке символ с кодом из шага 3

Это, конечно, не шифрование.
Мне вообще не совсем понятно, что это.

Но явно что-то обратимое.

На другом конце мы:
1. Берём строку
2. Сдвигаем код последнего символа на -48
3. Вычисляем чек-сумму оставшейся строки
4. Проверяем чек сумму и число из шага 2. Должны быть одинаковыми
Это проверка кода ЕСР грузовых станций РЖД по Common алгоритму.
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Andrey Kolkov
Это проверка кода ЕСР грузовых станций РЖД по Common алгоритму.
Ну вот что-то такое и предполагал)
Но всё равно не понятно, зачем так))
источник
2020 September 16

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
x-foby
Ну вот что-то такое и предполагал)
Но всё равно не понятно, зачем так))
Быстрее вроде.
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Andrey Kolkov
Быстрее вроде.
Да я про сам алгоритм, а не про реализацию)
источник

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
x-foby
Да я про сам алгоритм, а не про реализацию)
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Ну так тогда неверная реализация у вас.

@xff00ff ты был прав, тут не код символа нужно было вычислить, а число)
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
я все равно не понимаю что это за штука ) свои алгоритмы на жд
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Анатолий
я все равно не понимаю что это за штука ) свои алгоритмы на жд
Ну это типа как EAN-13, только на минималках)
источник

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
x-foby
Ну так тогда неверная реализация у вас.

@xff00ff ты был прав, тут не код символа нужно было вычислить, а число)
Ну работает, функцию свою выполняет. Если есть предложения по улучшению, милости просим PR) мож кому потом пригодится)
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Andrey Kolkov
Ну работает, функцию свою выполняет. Если есть предложения по улучшению, милости просим PR) мож кому потом пригодится)
Я понял, откуда у вас там 48)

Ну да, работать будет, но для наглядности было бы проще заменить 48 на '0'. Это по сути то же самое, но понятней)
источник

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
x-foby
Я понял, откуда у вас там 48)

Ну да, работать будет, но для наглядности было бы проще заменить 48 на '0'. Это по сути то же самое, но понятней)
Наверное да.) Давно делал, не помню уже, чем было вызвано.
источник

DS

Denis Shkabatur in Golang Developers — русскоговорящее сообщество
Подскажите пожалуйста, хочу присвоить возвращаемое значение, глобальной переменной х и локальной err:
x, err := someFunc()
так как, err  еще не встречалась, приходится писать :=, но при этом создаётся локальная x. Есть какое-нибудь более элегантное решение кроме как  писать перед присвоением var err error ?
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Denis Shkabatur
Подскажите пожалуйста, хочу присвоить возвращаемое значение, глобальной переменной х и локальной err:
x, err := someFunc()
так как, err  еще не встречалась, приходится писать :=, но при этом создаётся локальная x. Есть какое-нибудь более элегантное решение кроме как  писать перед присвоением var err error ?
Нормальных — нет.

А зачем вам в глобальную переменную что-то из функции писать?
источник

DS

Denis Shkabatur in Golang Developers — русскоговорящее сообщество
x-foby
Нормальных — нет.

А зачем вам в глобальную переменную что-то из функции писать?
у меня куча хендлеров для телеграм бота, всё это в одном файле хранилось и мапилось прямо из main функции. Я в отдельный файлик их переношу и пару переменных выпадают из области видимости.
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Denis Shkabatur
Подскажите пожалуйста, хочу присвоить возвращаемое значение, глобальной переменной х и локальной err:
x, err := someFunc()
так как, err  еще не встречалась, приходится писать :=, но при этом создаётся локальная x. Есть какое-нибудь более элегантное решение кроме как  писать перед присвоением var err error ?

if xx, err := someFunc(); err != nil {
   ...
} else {
   x = xx
}

Можно так, если вопрос именно в err
источник