Size: a a a

2020 April 13

ss

santiago s in Go-go!
Ilya Sinelnikov
А с типами работать не очень удобно, к сожалению.
ну это уже вкусовщина
источник

IS

Ilya Sinelnikov in Go-go!
santiago s
ну это уже вкусовщина
Ну там просто кода получается больше - нужно всякие Unwrap поддерживать если нужен врапинг и т.п.. А так конечно типы лучше.
источник

IS

Ilya Sinelnikov in Go-go!
Далеко не все готовы заморачиваться с типами.
источник

IS

Ilya Sinelnikov in Go-go!
Поэтому в общем случае сентинели - хороший базовый вариант.
источник

ss

santiago s in Go-go!
Ilya Sinelnikov
Так лучше не делать - https://play.golang.org/p/M3KmJtofFoS
нет, все таки это не состояльный аргумент

https://play.golang.org/p/1Emm1fmmfnv
источник

IS

Ilya Sinelnikov in Go-go!
santiago s
нет, все таки это не состояльный аргумент

https://play.golang.org/p/1Emm1fmmfnv
https://play.golang.org/p/ACh0_iYcYdH как скажешь :)
источник

ss

santiago s in Go-go!
после добавления errors.Is errors.As нельзя проверять ошибки через ==
источник

ss

santiago s in Go-go!
ну и рекомендованный способ fmt.Errorf("%w", ErrSomething) даже если ничего не добавляется, именно для избежания проверок через ==
источник

МП

Мимо Проходящий... in Go-go!
Очень плохо что они не осилили fmt.Errorf("%w %w", Err1, Err2)  и приходится это делать самому
источник

SJ

SHEROZ Juraev in Go-go!
Привет, ребята. Хочу создать программу для отслеживания работы сети компьютеров. И возникает вопрос как обстоять дела Go с Windows API? Нормально или все же на C# писать программу? (C# я не знаю)
источник

PT

Pax au Telemanus in Go-go!
Мимо Проходящий
Очень плохо что они не осилили fmt.Errorf("%w %w", Err1, Err2)  и приходится это делать самому
чет таким никогда не пользовался
источник

PT

Pax au Telemanus in Go-go!
SHEROZ Juraev
Привет, ребята. Хочу создать программу для отслеживания работы сети компьютеров. И возникает вопрос как обстоять дела Go с Windows API? Нормально или все же на C# писать программу? (C# я не знаю)
все норм я такое на той неделе зарелизил
источник

МП

Мимо Проходящий... in Go-go!
Pax au Telemanus
чет таким никогда не пользовался
никогда не видели ошибку, унаследованную от двух разных ошибок?
источник

SJ

SHEROZ Juraev in Go-go!
Pax au Telemanus
все норм я такое на той неделе зарелизил
Было бы здорово посмотреть. Есть репозиторий в GitHub-е?
источник

PT

Pax au Telemanus in Go-go!
SHEROZ Juraev
Было бы здорово посмотреть. Есть репозиторий в GitHub-е?
нет коммерческое жеж
источник

PT

Pax au Telemanus in Go-go!
ну и аналог на с весит жрет 3мб на го 7
источник

DP

Daniel Podolsky in Go-go!
Мимо Проходящий
Очень плохо что они не осилили fmt.Errorf("%w %w", Err1, Err2)  и приходится это делать самому
очень хорошо, на самом деле
источник

SJ

SHEROZ Juraev in Go-go!
Понятно ) Что посоветуете, куда копать?
источник

AK

Anton Kucherov in Go-go!
santiago s
ну и рекомендованный способ fmt.Errorf("%w", ErrSomething) даже если ничего не добавляется, именно для избежания проверок через ==
Во кстати, я все не могу понять, как и когда эту функцию использовать. Обычно ведь ошибку оборачивают, когда хотят сделать ее описание более конкретным и отличать ее от другой ошибки которая произошла по той же причине. Как после этого извлечь эти детали понятно, а как извлечь саму ошибку без деталей, не ясно совсем. Например создал я 2 кастомные ошибки, хоть у них и одна причина:
fooErr := fmt.Errorf("Error while reading foo, reason: %w", io.EOF)
barErr := fmt.Errorf("Error while reading bar, reason: %w", io.EOF)


Как потом работать с fooErr и barErr? Как их различать и как пользователю отобразить их без того что внутри %w. Или я эту концепцию неверно понял вообще?
источник

PT

Pax au Telemanus in Go-go!
SHEROZ Juraev
Понятно ) Что посоветуете, куда копать?
документацию win api изучить
источник