
Sergey
16.05.2018
21:03:05

Alexandr
16.05.2018
21:03:06
хочу привести к Error свою ошибку)
прохожу)

Виктор
16.05.2018
21:03:18
Так она сама приводится)

Google

Виктор
16.05.2018
21:03:26
value.Error
ненадо писать
потому что у любого типа где есть метод String() он наследует интерфейс Stringer
и сам печатает себя

Alexandr
16.05.2018
21:04:10
я хочу, чтобы IDE не подсвечивала другие методы, кроме Error
т.е. я мог видеть только строку)

Sergey
16.05.2018
21:04:26

Alexandr
16.05.2018
21:04:40
не, надо закастить просто
к родительскому интерфейсу

Виктор
16.05.2018
21:04:50
Mind Blown

Alexandr
16.05.2018
21:04:57
ошибку пишет почему-то)))

Sergey
16.05.2018
21:05:22

Alexandr
16.05.2018
21:06:06
Assigment count missmatch: 2 = 1

Google

Виктор
16.05.2018
21:07:16
код в студию)
И лучше сразу на play
https://play.golang.org/

Alexandr
16.05.2018
21:09:06
https://play.golang.org/p/XT4865QUTP8
к родителю не закастить?
я просто с шарпа пришел, вы уж извините )
я просто хочу закастить к более низкому интерфейсу

John
16.05.2018
21:13:40
не ?)

Aleksandr
16.05.2018
21:13:45

John
16.05.2018
21:14:23

Alexandr
16.05.2018
21:14:52
в том то и дело, что я хочу закастить в обратную сторону
в шарпе например можно к интерфейсу закастить
который реализовывает класс
а как тут? )

Aleksandr
16.05.2018
21:15:24

John
16.05.2018
21:15:54
Вот первый это один аргумент, а второй — два

Aleksandr
16.05.2018
21:17:37
https://play.golang.org/p/9l-lC-YdMyH
ты че сделать хочешь?

Google

John
16.05.2018
21:18:20
а как тут? )
Или вот так — https://play.golang.org/p/BpD4PLrwM-3

Alexandr
16.05.2018
21:18:25
var e error = &MyError{}
что то типа такого
только получить структуру, которая возвращается
из функции =)

Aleksandr
16.05.2018
21:19:02
так она у тебя и возрвщается

John
16.05.2018
21:19:03

Alexandr
16.05.2018
21:19:18
у меня возвращается MyError тип
а мне надо error
)))

Виктор
16.05.2018
21:19:29
так эт
братюнь

John
16.05.2018
21:19:32

Alexandr
16.05.2018
21:19:34
привести к error

Виктор
16.05.2018
21:19:41
https://play.golang.org/p/ZeAp0qGKB-9

Alexandr
16.05.2018
21:19:41
так мне не надо его возвращать

Виктор
16.05.2018
21:19:44
все
замени возвращаемый тип на error

Aleksandr
16.05.2018
21:19:54

Виктор
16.05.2018
21:19:56
а возвращай твой

Google

Aleksandr
16.05.2018
21:19:57
не путай

Виктор
16.05.2018
21:19:58
и все

Alexandr
16.05.2018
21:20:06
если я заменю, то я не буду знать
что метод возвращает MyError
)))

John
16.05.2018
21:20:13
Я запутался ...

Aleksandr
16.05.2018
21:20:19
больше там нечего возвращать
кроме твоей структуры

Виктор
16.05.2018
21:20:29
так ты и не должен. ты проверяешь какой тип ошибки только тогда когда ошибка случилась

Aleksandr
16.05.2018
21:20:30
что вернуть еще хочешь?

Admin
ERROR: S client not available

Виктор
16.05.2018
21:20:34
или ты уже ЗАРАНЕЕ знаешь
какая ошибка произошла
и кастуешь

Alexandr
16.05.2018
21:21:03
а ну понял

Виктор
16.05.2018
21:21:16
просто тип error потому и универсальный
потмоу что допустим твою функцию
можо будет вызвать в другой фунгкции
и она вернет error твой

Aleksandr
16.05.2018
21:21:38

Google

Виктор
16.05.2018
21:21:46
Ну и то верно
Просто приятнее говорить об ошибке как об отдельном типе(Я знаю что это не правилньо) просто привычно

Alexandr
16.05.2018
21:22:51
просто как в шарпе у нас, можно кастить в одну и в другую сторону
к любому интерфейсу и обратно
вот я тут также пытаюсь

John
16.05.2018
21:23:08
тут тоже можно, при желании ...

Виктор
16.05.2018
21:23:14
Ну просто как бы тут каст и не нужен
так как если у тебя есть нужные методы

Alexandr
16.05.2018
21:23:26
)))

Виктор
16.05.2018
21:23:27
то ты как бы уже попал туда куда надо

Alexandr
16.05.2018
21:23:43
просто откуда я знаю какой тип ошибки возвращает функция
она показывает error
а мне надо получить другой
в документации смотреть?

Aleksandr
16.05.2018
21:24:04

Alexandr
16.05.2018
21:24:13
ну так он error
а у меня ошибка MyError

Aleksandr
16.05.2018
21:24:17
нет
func Sqrt(x float64) (float64, MyError)
у тебя прописано MyError

Alexandr
16.05.2018
21:24:32
как я узнаю что можно закастить к моей ошибке

Aleksandr
16.05.2018
21:24:33
MyError и есть

Alexandr
16.05.2018
21:24:44
а если у меня error будет возвращаться?