Andrey
скорее всего у него это один пакет handlers
Andrey
не угадал я значит(
Tikhon
Он тут без алиасов импортирует, и не получает ошибку редекларации
Andrey
Сделай как в примере в доке errors As
Alexander
package foo var ErrInternal = errors.New("internal error") var ErrDivisionByZero = errors.New("division by zero") func Div(i int) error { if i == 0 { return fmt.Errorf("%w: %w", ErrInternal, ErrDivisionByZero) } return nil } В другом пакете: package bar func DoJob(){ ... if err := foo.Div(foobar); err != nil{ if errors.Is(err, foo.ErrInternal){ } else{ } } }
Alexander
return errors.New("ok") - это вообще что?))
Alexander
ну в смысле, как может быть ошибка "нет ошибки"?
Tikhon
Тут имена пакетов не видно. Что у вас в handler.go находится ?
Tikhon
В секции package
Tikhon
Да не, меня просто имя пакета интересовало
Alexander
package foo var ErrInternal = errors.New("internal error") var ErrDivisionByZero = errors.New("division by zero") func Div(i int) error { if i == 0 { return fmt.Errorf("%w: %w", ErrInternal, ErrDivisionByZero) } return nil } В другом пакете: package bar func DoJob(){ ... if err := foo.Div(foobar); err != nil{ if errors.Is(err, foo.ErrInternal){ } else{ } } }
но вообще, as тоже должен быть ок. это мое видение. единственное если у тебя есть какая-то ошибка фиксированная, то на уровень пакета вынести есть смысл: при тестах проверять является ли ошибка конкретной или проверять ее текст - есть разница. и возвращать ошибку, что нет ошибки прям 50 оттенков серого
Alexander
а кто в других языках любил городить целое дерево классов исключений?))
Alexander
давайте, делитесь
Maks
Можно тогда кодогенератор написать и перед компиляцией запускать кодогенерацию) что бы вместо джинериков был копипаст)
Denis Pershin
Код или компиляцию?
Michael
У меня какие то глюки https://go.dev/play/p/RHiREFmnQge?v=goprev - иногда вместо первого символа выдает заглавную L - 123 -> L23 . Кто-то может это объяснить?
NnNaty
Подскажите, пожалуста, как складывать значения 2-х массивов между собой, если они одной длины?
NnNaty
Сейчас попробую и станет известно))
Maks
я не понял задачи
Maks
что нужно в итоге получить
NnNaty
Допустим есть 2 массива [1, 2,3,4)] и [5, 6,7,8] каждая создана в отдельной функции, сейчас нужно сложить значения соответствующих индексов и вывести в терминал. В идеале второй массив состоит из 8 элементов и складывать надо только чётные
Denis Pershin
Добавь в том примере проверку на четность и все
Andrey
четные индексы или числа?)
Alexander
как может получить из 2х массивов по 4 элемента 8 элементный, если еще и складывать только четные индексы или числа
Alexander
?
Andrey
Индексы
тогда просто фор через i for i:=0, i < len(slice), i+=2
Alexander
4 / 2 == 4 ?
Michael
так тут же ничего нет, где мы могли бы тебе помочь
Не знаю как в Go Playground вводить данные - сам глюк происходит в Goland
Andrey
хотя бы скрины приложи, что ты вводишь и что выводится
NnNaty
👍
Michael
Иногда вот-так, иногда нормально выводит
Andrey
запусти не через терминал ide
Andrey
ему походу плохо становится иногда
Michael
Это через терминал go run ...
Andrey
прочитай еще раз что я написал
аnon
NnNaty
тогда просто фор через i for i:=0, i < len(slice), i+=2
Возникает паника, индекс вне диапазона
аnon
main включен в ключевое синтаксическое слово?
аnon
Andrey
а new включен?
аnon
Herman
хотя там нет например func
NnNaty
Это немного уже с экспериментами
NnNaty
А надо к 1+2, 2+4, и тд
Maks
Он пытается переопределить переменную mass и там просто всегда будет число
Maks
Потом вернуть mass
аnon
Andrey
мне прям нравится как задача на лету меняется, словно пришел заказчик, который не знает что хочет)))
Andrey
аnon
Филипп
=)
NnNaty
Начинаем заново. 1.создан массив из 5 элементов и из 10 элементов 2. 3 -я функция принимает этих массивы и должна сделать следующее: Прибавить ко всём элементам 1-го массива чётные элементы второго. По индексам 1(масив 1)+2(масмив2) 2+4 и тд
аnon
https://zoomquilt.org/
NnNaty
Чётные элементы второго
Maks
все четные? типо если во втором массиве 2, 4, 6 то к каждому элементу первого нужно добавить каждый четный элемент второго. Точнее говоря их сумму
Maks
и вернуть потом этот массив
NnNaty
Благодарю)
Andrey
ты бы хотя бы во втором форе шаг +2 сделал)))
Maks
не заработало
NnNaty
не заработало
))) нет, но хоть более менее понятно
Maks
https://go.dev/play/p/v-1qqUA4Qii
Andrey
плюс тут на наркоманил if b[j]%2 == 0 {
Maks
вон я уже решение скинул
аnon
Andrey
https://go.dev/play/p/v-1qqUA4Qii
а вы че наркоманите то
Andrey
там вроде сказано четные индекксы, а вы все поголовно четные значения индексов считаете
Maks
что значит "прибавить к каждому элементу первого массива" - ясно. четные элементы второго. Элемент это значение. Я пытался уточнить но ответа не получил.
Maks
как я понял
Maks
четные элементы
Maks
ну там ответы ничего не проясняют)