🐁 Arutrancetro
хочу привести к Error свою ошибку)
🐁 Arutrancetro
прохожу)
Васильев Виктор
Так она сама приводится)
Васильев Виктор
value.Error
Васильев Виктор
ненадо писать
Васильев Виктор
потому что у любого типа где есть метод String() он наследует интерфейс Stringer
Васильев Виктор
и сам печатает себя
🐁 Arutrancetro
я хочу, чтобы IDE не подсвечивала другие методы, кроме Error
🐁 Arutrancetro
т.е. я мог видеть только строку)
🐁 Arutrancetro
не, надо закастить просто
🐁 Arutrancetro
к родительскому интерфейсу
Васильев Виктор
Mind Blown
🐁 Arutrancetro
ошибку пишет почему-то)))
Cat
🐁 Arutrancetro
Assigment count missmatch: 2 = 1
Васильев Виктор
код в студию)
Васильев Виктор
И лучше сразу на play
Васильев Виктор
https://play.golang.org/
🐁 Arutrancetro
https://play.golang.org/p/XT4865QUTP8
🐁 Arutrancetro
к родителю не закастить?
🐁 Arutrancetro
я просто с шарпа пришел, вы уж извините )
🐁 Arutrancetro
я просто хочу закастить к более низкому интерфейсу
Anonymous
https://play.golang.org/p/XT4865QUTP8
https://play.golang.org/p/cgF6UMwWod7
Anonymous
не ?)
Aleksandr
Assigment count missmatch: 2 = 1
возаращает больше чем принимаешь или наоборот
Anonymous
https://play.golang.org/p/cgF6UMwWod7
Но тут вообще тогда каст лишний %)
🐁 Arutrancetro
в том то и дело, что я хочу закастить в обратную сторону
🐁 Arutrancetro
в шарпе например можно к интерфейсу закастить
🐁 Arutrancetro
который реализовывает класс
🐁 Arutrancetro
а как тут? )
Aleksandr
а как тут? )
читай выше
Anonymous
а как тут? )
Тут есть каст, а есть type assertion
Anonymous
Вот первый это один аргумент, а второй — два
Aleksandr
https://play.golang.org/p/9l-lC-YdMyH
Aleksandr
ты че сделать хочешь?
Anonymous
а как тут? )
Или вот так — https://play.golang.org/p/BpD4PLrwM-3
🐁 Arutrancetro
var e error = &MyError{}
🐁 Arutrancetro
что то типа такого
🐁 Arutrancetro
только получить структуру, которая возвращается
🐁 Arutrancetro
из функции =)
Aleksandr
так она у тебя и возрвщается
🐁 Arutrancetro
у меня возвращается MyError тип
🐁 Arutrancetro
а мне надо error
🐁 Arutrancetro
)))
Васильев Виктор
так эт
Васильев Виктор
братюнь
Anonymous
а мне надо error
ну так и возвращай его )))
🐁 Arutrancetro
привести к error
Васильев Виктор
https://play.golang.org/p/ZeAp0qGKB-9
🐁 Arutrancetro
так мне не надо его возвращать
Васильев Виктор
все
Васильев Виктор
замени возвращаемый тип на error
Aleksandr
у меня возвращается MyError тип
а ты говоришь что хочешь получить структуру и выше пишешь ее имя MyError
Васильев Виктор
а возвращай твой
Aleksandr
не путай
Васильев Виктор
и все
🐁 Arutrancetro
если я заменю, то я не буду знать
🐁 Arutrancetro
что метод возвращает MyError
🐁 Arutrancetro
)))
Anonymous
Я запутался ...
Aleksandr
больше там нечего возвращать
Aleksandr
кроме твоей структуры
Васильев Виктор
так ты и не должен. ты проверяешь какой тип ошибки только тогда когда ошибка случилась
Aleksandr
что вернуть еще хочешь?
Васильев Виктор
или ты уже ЗАРАНЕЕ знаешь
Васильев Виктор
какая ошибка произошла
Васильев Виктор
и кастуешь
🐁 Arutrancetro
а ну понял
Васильев Виктор
просто тип error потому и универсальный
Васильев Виктор
потмоу что допустим твою функцию
Васильев Виктор
можо будет вызвать в другой фунгкции
Васильев Виктор
и она вернет error твой
Aleksandr
просто тип error потому и универсальный
не тип, а интерфейс. иначе вы тут полночи будет мусолить
Васильев Виктор
Ну и то верно
Васильев Виктор
Просто приятнее говорить об ошибке как об отдельном типе(Я знаю что это не правилньо) просто привычно
🐁 Arutrancetro
просто как в шарпе у нас, можно кастить в одну и в другую сторону
🐁 Arutrancetro
к любому интерфейсу и обратно