Size: a a a

2020 August 14

MG

Max Grigoriev in Go-go!
res, err := getInt()
res++
res2, err := getInt()
if err != nil {
   return err
}
res2++
источник

MG

Max Grigoriev in Go-go!
где мы тупо можем забыть обработать ошибку и при этом иметь результат какой то
источник

DP

Daniel Podolsky in Go-go!
я в любом языке вам это легко организую
источник

ВС

Владимир Столяров... in Go-go!
ну не у всех есть множественные возвращаемые значения
источник

с

сонная википедия... in Go-go!
Daniel Podolsky
ну это же маргинальные случаи. да, баги, но очевидные и легко обходимые
я бы не сказал что они маргинальные, по крайней мере #39868

помимо этого, есть и другие неприятные баги, банально транслятор использует go list для получения информации для пакета, но ведь пакетом считается директория с go файлами
в то же время, в пакетах с go2 нельзя класть не сгенерированные go2go go-файлы ¯\_(ツ)_/¯
источник

с

сонная википедия... in Go-go!
в результате надо кормить пакет транслятору пофайлово, что в теории может вызвать коллизию инстанцированных имен
источник

MG

Max Grigoriev in Go-go!
Daniel Podolsky
я в любом языке вам это легко организую
Покажите как в джаве или расте вы такое сделаете
источник

ЕО

Евгений Омельченко... in Go-go!
Max Grigoriev
Покажите как в джаве или расте вы такое сделаете
try { что угодно } catch (Exception) {}
источник

MG

Max Grigoriev in Go-go!
Владимир Столяров
ну не у всех есть множественные возвращаемые значения
Так проблема в том что когда есть ошибка то не должно быть результата
источник

DP

Daniel Podolsky in Go-go!
Max Grigoriev
Покажите как в джаве или расте вы такое сделаете
а в чем проблема? try { … } catch Throwable {}, и мы в дамках. и я даже видел такое в реальном проекте
источник

ЕО

Евгений Омельченко... in Go-go!
Max Grigoriev
Так проблема в том что когда есть ошибка то не должно быть результата
В го любой тип имеет значение по умолчанию, это не проблема вообще
источник

MG

Max Grigoriev in Go-go!
Евгений Омельченко
try { что угодно } catch (Exception) {}
Нет, в кетче у вас будет просто ошибка, а в Го в моем примере вы будете иметь доступ к какому то результату
источник

DP

Daniel Podolsky in Go-go!
это не стоит обсуждения, коллега
источник

с

сонная википедия... in Go-go!
Max Grigoriev
Нет, в кетче у вас будет просто ошибка, а в Го в моем примере вы будете иметь доступ к какому то результату
что мешает вынести переменную за пределы try?
источник

с

сонная википедия... in Go-go!
а в расте использовать unwrap_or?
источник

MG

Max Grigoriev in Go-go!
Евгений Омельченко
В го любой тип имеет значение по умолчанию, это не проблема вообще
Ага ну те есть у меня интовая переменная в которой было значение 10, потом я вызываю функцию и получаю ошибку и при этом значение становится 0. По мне это не нормально, в расте или джаве или шарпе у вас останется 10 при ошибке, потому что не может функция вернуть и значение и ошибку
источник

ЕО

Евгений Омельченко... in Go-go!
Max Grigoriev
Ага ну те есть у меня интовая переменная в которой было значение 10, потом я вызываю функцию и получаю ошибку и при этом значение становится 0. По мне это не нормально, в расте или джаве или шарпе у вас останется 10 при ошибке, потому что не может функция вернуть и значение и ошибку
А в пьюрси не останется, и что?
источник

MG

Max Grigoriev in Go-go!
сонная википедия
что мешает вынести переменную за пределы try?
Тем что ее значение не изменится
источник

ЕО

Евгений Омельченко... in Go-go!
Max Grigoriev
Тем что ее значение не изменится
Ну оно и в го не изменится
источник

ЕО

Евгений Омельченко... in Go-go!
Останется значением по умолчанию
источник