@gogolang

Страница 1070 из 1630
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
https://play.golang.org/p/XT4865QUTP8
https://play.golang.org/p/cgF6UMwWod7

не ?)

Aleksandr
16.05.2018
21:13:45
Assigment count missmatch: 2 = 1
возаращает больше чем принимаешь или наоборот

John
16.05.2018
21:14:23
https://play.golang.org/p/cgF6UMwWod7
Но тут вообще тогда каст лишний %)

Alexandr
16.05.2018
21:14:52
в том то и дело, что я хочу закастить в обратную сторону

в шарпе например можно к интерфейсу закастить

который реализовывает класс

а как тут? )

Aleksandr
16.05.2018
21:15:24
а как тут? )
читай выше

John
16.05.2018
21:15:54
а как тут? )
Тут есть каст, а есть type assertion

Вот первый это один аргумент, а второй — два

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
так она у тебя и возрвщается

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

а мне надо error

)))

Виктор
16.05.2018
21:19:29
так эт

братюнь

John
16.05.2018
21:19:32
а мне надо error
ну так и возвращай его )))

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
у меня возвращается MyError тип
а ты говоришь что хочешь получить структуру и выше пишешь ее имя MyError

Виктор
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
просто тип error потому и универсальный
не тип, а интерфейс. иначе вы тут полночи будет мусолить

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 будет возвращаться?

Страница 1070 из 1630