@proGO

Страница 1395 из 1674
Daniel
24.04.2018
21:52:01
ну я почистил

по второму разу буду банить

Dmitrii
24.04.2018
21:52:30
ну я почистил
админ всё бдит ???

Александр
24.04.2018
21:57:15
а что почистили то?

Google
Daniel
24.04.2018
21:58:13
языкосрач

Александр
24.04.2018
21:59:28
а...

моему другу просто надо было узнать

Таир
25.04.2018
03:26:59
блин.. как так? https://github.com/golang/go/issues/21670

блин.. как так? https://github.com/golang/go/issues/21670
https://golang.org/pkg/net/http/#HandlerFunc -- а, сорри, есть такое оказывается

Hokusai
25.04.2018
03:43:46
Присоединяюсь к вопросу

Таир
25.04.2018
04:32:18
что не так?
Да все так, просто я подумал, неужели было трудно встроить приведение типа функций, когда сигнатура совпадает, но посмотрел реализацию адаптера, и понял, что там не все так просто

Artem
25.04.2018
06:39:48
почему в данном случае не работает duck typing для FabricBuilder? https://goplay.space/#itH370_WC1o

Daniel
25.04.2018
07:07:54
Там же написано в сообщении об ошибке все

Artem
25.04.2018
07:09:37
там написано, как исправить, а не почему ColaFabric, которая соответствует, не хочет восприниматься интерфейсом

Mykyta
25.04.2018
07:56:39
там написано, как исправить, а не почему ColaFabric, которая соответствует, не хочет восприниматься интерфейсом
В го нет ко- и контр-вариантности, потому даже несмотря на то, что ColaFabric реализует Fabric, это не разрешает использовать BuildFabric() ColaFabric как BuildFabric() Fabric

Google
Mykyta
25.04.2018
08:28:07
понял спс, а есть какие-то аргументы, почему это не было сделано частью языка?
Вообще это хороший вопрос и мне даже пришлось подумать, чтобы на него ответить правильно, как я думаю :) Ну если следовать логике языка в целом, в го нет наследования, потому непонятно каким образом должно происходить соответствие между более базовым или конкретным типом. Например если говорить не о интерфейсах, а о функциях первого класса, в sync.Pool{} есть поле New типа func() interface{}, если бы в го типы были ковариатны, тогда бы типу func() interface{} можно было присвоить func() someStructType, причем если мы будем обращаться к полю, то все равно будем иметь func() interface{}, тобишь происходит полное усложнение системы типов, а практически никаких проблем это не решило, потому гораздо проще было оставить всю систему типов инвариантной, а тебе сигнатуру BuildFabric() ColaFabric поменять на BuildFabric() Fabric :)

Pawel
25.04.2018
09:02:26
понял спс, а есть какие-то аргументы, почему это не было сделано частью языка?
потому что у вас нарушен принцип подстановки Лисков. Должно быть func (b USABuilder) BuildFabric() Fabric { return ColaFabric{} } func (b RussianBuilder) BuildFabric() Fabric { return LadaFabric{} } и тогда можно var builder FabricBuilder = USABuilder{}

Daniel
25.04.2018
09:05:17
На самом деле - в go нет автоматической конверсии типов. Совсем нет. Поэтому и один интерфейс в другой сам не пррвращается

Kirill
25.04.2018
10:49:08
Привет ?

Zerogoki
25.04.2018
15:13:56
У вас gobyexample.com открывается?

Kirill
25.04.2018
15:14:29
Zerogoki
25.04.2018
15:14:35
Да

Kirill
25.04.2018
15:14:42
сожалею

из РБ работает

Sergey
25.04.2018
15:15:13
в рф работает

Zerogoki
25.04.2018
15:15:15
Под впн открылся

Что-то мне непонятно с json в go

Нужно структуру для каждого json-а создавать?

Но от сервера же могут разные приходить

В одном ответе может не быть какого-то поля, а в другом быть

Zerogoki
25.04.2018
15:18:59
Да апи вк например возьми

Google
Alexey
25.04.2018
15:19:08
Да апи вк например возьми
там методы же разные

для каждого - свою структуру, да

Sergey
25.04.2018
15:19:22
https://golang.org/pkg/encoding/json/#RawMessage

Alexey
25.04.2018
15:19:41
http://json2struct.mervine.net/ - вот если этот сайтик умрёт, то я работать не смогу)

Zerogoki
25.04.2018
15:19:52
Вот смотри. Получаю я токен Неправильный пароль: {"error":"invalid_client","error_description":"Username or password is incorrect"} Правильный: {"access_token":"xxxxxxxxxxxxxxxx","expires_in":0,"user_id":000000}

Sergey
25.04.2018
15:20:25
а хттп статускод отдавать соответственный?

Zerogoki
25.04.2018
15:21:15
Всегда 200 OK

Admin
ERROR: S client not available

Zerogoki
25.04.2018
15:21:31
Яж не могу на их сервер повлиять

Alexey
25.04.2018
15:22:01
Вот смотри. Получаю я токен Неправильный пароль: {"error":"invalid_client","error_description":"Username or password is incorrect"} Правильный: {"access_token":"xxxxxxxxxxxxxxxx","expires_in":0,"user_id":000000}
надо сделать поле error, если пустое - значит, проверять акцесс токен. Если не пустое - смотреть дескрипшн.

Т.е. type Rest struct { Error string ErrorDescription string AccessToken string }

Zerogoki
25.04.2018
15:23:05
А я уже начал думать, что статическая типизация — это хорошо

Artem
25.04.2018
15:25:13
Нужно структуру для каждого json-а создавать?
в запущенных случаях можешь анмаршал в map[string]interface{} делать

Zerogoki
25.04.2018
15:26:57
Ну на питончике раз в 20 легче с жсоном работать именно за счет динамической типизации

Daniel
25.04.2018
15:29:35
ключами в json могут быть только строки

Olzhas
25.04.2018
15:30:26
я сделаль

Google
Vadim
25.04.2018
15:31:14
На гитхабе же есть исходники
Ты можешь свои маршалеры писать

Alexey
25.04.2018
15:31:28
json.Unmarshal(data, &struct{}{})

Zerogoki
25.04.2018
15:39:06
Более-мене разобрался

Я думал, что он будет крашиться, если json к структуре не подходит

А там просто поля пустые

Тогда жить можно

Человек
25.04.2018
15:54:05
Здравствуйте, можно ли сделать так чтоб функция отработала 1 раз и больше никогда не отрабатывалась? Даже если я перезапускаю программу

Страница 1395 из 1674