Size: a a a

2020 June 23

AS

Alexander Shavelev in Go-go!
Юрий Вельмесов
похоже я что то не понимаю...

это как смотреть на запорожец и говорить, вах, вах... какой красавэлл! 😄
пишите дальше на пхп, камон
че докопались до запорожца
источник

ЮВ

Юрий Вельмесов... in Go-go!
Alexander Shavelev
пишите дальше на пхп, камон
че докопались до запорожца
мощное заявление, но не важное для меня...
источник

AS

Alexander Shavelev in Go-go!
Юрий Вельмесов
мощное заявление, но не важное для меня...
ну хз
хочется читать интересные треды, а не мр я тащу весь пхп шлак в го

пс группа не консьерж сервис обучения вас
источник

DK

Daniil Kuznetsov in Go-go!
А зачем тогда го брать? Чтобы каждый день жаловаться в этом чате что в нем нет таких-то фич как в других яп?
источник

ЮВ

Юрий Вельмесов... in Go-go!
Alexander Shavelev
ну хз
хочется читать интересные треды, а не мр я тащу весь пхп шлак в го

пс группа не консьерж сервис обучения вас
ну да, я как то сразу не подумал...
Вы ж ля, сразу в Го знали все паттерны и идеологию программирования...
Как только сели за него.
Что я Вам Богу в Го тут пишу...
Извините за беспокойство...
источник

AS

Alexander Shavelev in Go-go!
Юрий Вельмесов
ну да, я как то сразу не подумал...
Вы ж ля, сразу в Го знали все паттерны и идеологию программирования...
Как только сели за него.
Что я Вам Богу в Го тут пишу...
Извините за беспокойство...
есть гугл
источник

ЮВ

Юрий Вельмесов... in Go-go!
Daniil Kuznetsov
А зачем тогда го брать? Чтобы каждый день жаловаться в этом чате что в нем нет таких-то фич как в других яп?
Прочитайте мой вопрос выше и найдите от меня жалобу...
Я конкретно спросил, можно такое или нет.
Ваши домыслы - это Ваше дело...
источник

ЮВ

Юрий Вельмесов... in Go-go!
Alexander Shavelev
есть гугл
спасибо, я про него незнал...
источник

DK

Daniil Kuznetsov in Go-go!
Юрий Вельмесов
похоже я что то не понимаю...

это как смотреть на запорожец и говорить, вах, вах... какой красавэлл! 😄
То есть я в глаза долблюсь?
источник

AS

Alexander Shavelev in Go-go!
Юрий Вельмесов
спасибо, я про него незнал...
видимо да
источник

ЮВ

Юрий Вельмесов... in Go-go!
Daniil Kuznetsov
То есть я в глаза долблюсь?
это сообщение - реакция на слишком уверенное заявление про "прекрасный кусок кода"...
я бы поспорил, но нет времени на эту хню...
источник

ВС

Владимир Столяров... in Go-go!
Юрий Вельмесов
Приветсвую всех!

Чет не пойму, как можно в функции указать параметр с дефолтным значением?
Типа такого:

func log(err, fatal bool := false) {
   if err != nil {
       if fatal {
           log.Fatal(err.Error())
       }

       fmt.Println(err.Error())
   }
}
Подобным подходом не пользуются по многим причинам, и вообще в go принято работать с ошибками на месте их возникновения
Что можно делать:
Писать в лог
Пробросить выше (рекомендуется оборачивать через fmt.Errorf("%w",...))
Проверить по иерархии (через errors.Is/As)
И так далее
источник
2020 June 24

p

pragus in Go-go!
Юрий Вельмесов
Приветсвую всех!

Чет не пойму, как можно в функции указать параметр с дефолтным значением?
Типа такого:

func log(err, fatal bool := false) {
   if err != nil {
       if fatal {
           log.Fatal(err.Error())
       }

       fmt.Println(err.Error())
   }
}
type SomeParams struct { Fatal bool }
источник

ЮВ

Юрий Вельмесов... in Go-go!
Владимир Столяров
Подобным подходом не пользуются по многим причинам, и вообще в go принято работать с ошибками на месте их возникновения
Что можно делать:
Писать в лог
Пробросить выше (рекомендуется оборачивать через fmt.Errorf("%w",...))
Проверить по иерархии (через errors.Is/As)
И так далее
Вот это самый адекватный ответ!
Благодарю! 👍
источник

AK

Anton Kucherov in Go-go!
Юрий Вельмесов
почему?

зато не нужно было бы городить лапшу вот эту:
if err != nil {
   fmt.Println(err.Error())
}

а можно было бы просто:

error.Check(err, true)
Это называется "Явная обработка ошибок по месту их возникновения". И причина почему вас так это коробит в том, что большинство программистов не любят обрабатывать ошибки (практически во всех языках), а некоторые даже не привыкли о них думать и всячески сопротивляются их обработке, пытаясь ее как то вынести в одно место, т.е. избегая. Ведь какая разница, если что-то пойдет не так, да и кому какое дело. Пользователь разберется.

В Go принято думать об ошибках и обрабатывать их по месту возникновения, т.к. это повышает надежность, предсказуемость и поддерживаемость кода.
источник

N

Nikolay in Go-go!
Видел статью, что-то вроде "элегантная обработка ошибок в Go". Искал инфу, как бы унифицировать модуль обработки ошибок, чтобы при возникновении той или иной ситуации был вызов соответствующего обработчика (под фантомными болями после C#).  Статью толком так и не понял и не изучил, ибо время идет, а двигаться дальше надо было, но когда посоветовался с другом, он сказал что все это брехня, и в Go такое не используется.
источник

N

Nikolay in Go-go!
А именно пришли к выводу, что если err, то дальше блок if
источник

S

Solyar in Go-go!
Ловить ошибку можно ифами а обработчик куда-нибудь в отдельный модуль
источник

S

Solyar in Go-go!
У нас такая реализация и вроде все нормально работает, но у нас маленький проект
источник

ВС

Владимир Столяров... in Go-go!
ну я таки начал пользоваться конструкциями вида
switch {
case errors.Is(err, nil):
...
case errors.As(err, &myExtendedErr):
...
case errors.Is(err, someErrValue):
...
}
источник