История изменений
Исправление vbr, (текущая версия) :
зачем тогда объявлять символ err?
Потому, что синтаксис a := operationA()
в Go уже имеет конкретное значение «игнорировать значение err
» и поменять его практически невозможно.
Можешь переписать, как a := try! operationA()
или в любом другом виде. Мне больше нравится мой вариант, т.к. с одной стороны он вполне понятно читается, а с другой стороны однозначно парсится. Ну а то, что переменная будет всегда иметь значение nil - ну и ладно.
Дополню, что хотя есть общепринятые способы возвращать ошибку одним последним значением, это не значит, что все обязаны этому способу следовать. Плюс - может быть не только err
но и логическая ok
, например. Мой вариант универсально расширяется до любых сигнатур возвращаемых значений. К примеру !ok, len := someStrangeRead()
.
Исправление vbr, :
зачем тогда объявлять символ err?
Потому, что синтаксис a := operationA()
в Go уже имеет конкретное значение «игнорировать значение err
» и поменять его практически невозможно.
Можешь переписать, как a := try! operationA()
или в любом другом виде. Мне больше нравится мой вариант, т.к. с одной стороны он вполне понятно читается, а с другой стороны однозначно парсится. Ну а то, что переменная будет всегда иметь значение nil - ну и ладно.
Дополню, что хотя есть общепринятые способы возвращать ошибку одним последним значением, это не значит, что все обязаны этому способу следовать. Плюс - может быть не только err
но и логическая ok
, например. Мой вариант универсально расширяется до любых сигнатур возвращаемых значений.
Исходная версия vbr, :
зачем тогда объявлять символ err?
Потому, что синтаксис a := operationA()
в Go уже имеет конкретное значение «игнорировать значение err
» и поменять его практически невозможно.
Можешь переписать, как a := try! operationA()
или в любом другом виде. Мне больше нравится мой вариант, т.к. с одной стороны он вполне понятно читается, а с другой стороны однозначно парсится. Ну а то, что переменная будет всегда иметь значение nil - ну и ладно.