@gogolang

Страница 1317 из 1630
Alexandra
27.08.2018
21:06:32
Привет. А кто-то работал с кликхаусом? В частности, с пакетом github.com/kshvakov/clickhouse? Не могу найти, как можно с помощью него работать с Nested типом. Ну или может быть кто-то знает пути получше, как можно в кликхаус пихнуть что-то вроде такой структуры Server https://play.golang.org/p/SlBLm3LloRd, чтоб и вложенный слайс клиентов также мог быть помещен в кликхаус?

Alexey
27.08.2018
21:55:22
Привет всем! У меня следующая ситуация Описал интерфейс type ExchangeHelperInterface interface { GetBidAsk(leftCoin string, rightCoin string) (*BidAskData, error) } Затем вот такую структуру type bittrexHelper struct { apiKey string secretKey string } func GetBittrexInstanse(apiKey string, secretKey string) *bittrexHelper { bittrexHelper := new(bittrexHelper) bittrexHelper.apiKey = apiKey bittrexHelper.secretKey = secretKey return bittrexHelper } func (b *bittrexHelper) GetBidAsk(leftCoin string, rightCoin string) (*structures.BidAskData, error) { ... ... return &structures.BidAskData{Bid: response.Result.Bid, Ask: response.Result.Ask}, nil } и пытаюсь вернуть объект вышеописанной структуры из функции func GetInstance(userID uint, exchangeID uint) (*structures.ExchangeHelperInterface, error) { inst := GetBittrexInstanse("", "") return inst, nil } Пишет что нельзя использовать *bittrexHelper как *structures.ExchangeHelperInterface Как я могу возвращать из функции разные объекты, но реализующие один интерфейс?

Alexey
27.08.2018
21:58:46
Google
Alexey
27.08.2018
21:59:27
Всё, понял что нужно сделать

Спасибо

А объект который верну, он вернётся по ссылке или по значению? Или это будет зависить уже от функции GetBittrexInstanse("", "") в данном случаи?

Kirill
27.08.2018
22:01:12
Передавать по значению?
делаешь func a() SomeInterface{ return &SomeImpl{} } ну ты понял

Kirill
27.08.2018
22:02:32
да не за что

Alexander
27.08.2018
22:11:09
да не за что
заметь, что от функции ты получаешь не объекты, а результат

Go немножко строгий

Jack
27.08.2018
22:13:40
привет, принялся учиь го и тут сразу вопрос) Вырезка с доков - Most Go programmers keep all their Go source code and dependencies in a single workspace. что это вообще дает? Спасибо!

Jack
27.08.2018
22:14:05
и в догонку - как правильней всего начать учить его?

Alexander
27.08.2018
22:14:54
не туда ответил
OK! Просто по привычке уже :)

и в догонку - как правильней всего начать учить его?
Пройди весь https://tour.golang.org/welcome/1 для начала. И тогда все будет просто

Google
Alexander
27.08.2018
22:17:16
Ну, значит, ты уж езнаешь язык

Jack
27.08.2018
22:17:21
нуу нет

Alexander
27.08.2018
22:17:39
а чего не знаешь?

Jack
27.08.2018
22:18:32
ну вот к примеру вопрос выше, почему должен быть 1 воркспейс

Alexander
27.08.2018
22:18:58
а должен быть 1?

Jack
27.08.2018
22:19:51
Most Go programmers keep all their Go source code and dependencies in a single workspace

это тут https://golang.org/doc/code.html

звучит как бест практис

Ну, значит, ты уж езнаешь язык
к слову - нужно больше деталей, мелочей постигнуть)

Alexander
27.08.2018
22:21:36
Ну, это уже не так. Три дня назад вышло 1.11, там уже есть некоторое движение к тому, чтобы что-то изменить в лучшую сторону

Jack
27.08.2018
22:22:18
вот думаю читать все доки по но, или книгу донована

чтобы мягче войтивайти)

Alexander
27.08.2018
22:22:36
Пиши больше, и параллельно книгу читай, если хочешь. И все

Jack
27.08.2018
22:23:20
Больше пиши - больше постигнешь
ну надо же от простого к сложному

а то я взглянул на использование Гугл СДК и немного не понял что к чему

Alexander
27.08.2018
22:23:49
нет, от простого к сложному - не надо. Не усыпляй себя

по сути, нет ни простого, ни сложного. Больше на GO пишешь, проще задавать реальные вопросы :)

и всегда придет Дима Вьюков, который скажет, что это очень простой вопрос, но что вы хотели получить в итоге :)/ Или типа того :)

Google
Jack
27.08.2018
22:28:32
)))

Dmitryi
28.08.2018
05:10:41
а то я взглянул на использование Гугл СДК и немного не понял что к чему
Возми VS vode его не сложно настроить и реши конкретную задачу. Из простого напиши полиндром проверку. Ну и т.д.

Alexandra
28.08.2018
05:34:58
вот думаю читать все доки по но, или книгу донована
Если это первый язык, то надо много писать, как тут уже и сказали, лучше каждый день. В конце концов, задача стоит научиться писать, а не читать) А читать что-то можно или параллельно, или уже со временем просто возникнет потребность. Порешай задачки на http://codeforces.com/, там даже есть уже большинство решений в которые можно подглядывать для начала, напиши сервер на основе гошной статьи https://golang.org/doc/articles/wiki/, и двигайся дальше, придумывай и решай задачи себе, или попроси чтоб кто-то придумал тебе их. Также очень помогает смотреть и разбирать чужой код, например, код тех же пакетов гошных.

Ivanov
28.08.2018
06:16:00
Здравствуйте, может кто поможет. Такая ситация, делаю коннект по tcp до постгреса, который на удаленном сервере лежит, но он отваливается, каждые 10-15 минут и нужно перезапускать приложение. Кто скажет в чем причина? Либу использую: https://github.com/lib/pq , ошибка connection timed out

Jack
28.08.2018
06:30:12
Это даёт нормальные импорты
а что тогда с разными версиями пакетов?

Leonid
28.08.2018
06:42:21
а что тогда с разными версиями пакетов?
вы правда хотите это обсужать? или это троллинг?

если первое, что читаем по слову вендоринг

ну и вчерашняя статья на хабре

хороший перевод

Jack
28.08.2018
06:43:22
Artem
28.08.2018
07:21:22
Снова про тесты и сервис с cobra если я в функции теста вызвыаю cmd.Execute - то запускается приложение но оно висит и никак я его не могу остановиться по заверешнию теста сделал так func Exit() { os.Exit(1) } но после cmd.Execute - cmd.Exit ничего не делает, я так понимаю из за того что они не видят одну и туже аппу?

Artem
28.08.2018
07:47:26
именно сама аппа нет

Artem
28.08.2018
07:47:46
а кто слушает

Daniel
28.08.2018
07:48:19
аппа, конечно, слушает, стандартной либой

и реагирует стандартно

Alex
28.08.2018
07:54:47
Всем привет

Google
Alex
28.08.2018
07:55:11
тут есть кто на go тунель поднимал ?

по вот этому типу https://github.com/bigeagle/gohop/

Artem
28.08.2018
08:08:45
как ее кильнуть по завершению теста?

Aleksandr
28.08.2018
08:11:51
вот такой проект есть для любителей vscode https://github.com/VSCodium/vscodium

Roman
28.08.2018
09:25:19
вот такой проект есть для любителей vscode https://github.com/VSCodium/vscodium
пока не вижу смысла, пока-что доверяю микромягким

Admin
ERROR: S client not available

Artem
28.08.2018
10:23:35
пока не вижу смысла, пока-что доверяю микромягким
Когда перестаешь доверять уже будет поздно

Roman
28.08.2018
10:27:12
Когда перестаешь доверять уже будет поздно
а что может случиться? они украдут мой опен сорсный код?))

Artem
28.08.2018
10:27:40
а что может случиться? они украдут мой опен сорсный код?))
Сидишь такой, а тебе скидки на диваны всплывают

Roman
28.08.2018
10:31:42
many-faced
28.08.2018
10:42:13
Народ, подскажите, для sql траззакций, для tx.Commit() Есть возможность вылавливать что-то помимо невнятного текста "Could not complete operation in a failed transaction" ? Как понять что причина ошибки

Илья
28.08.2018
10:44:04
проверять ошибки в операциях до коммита?

many-faced
28.08.2018
10:46:06
они не сыплются до коммита

например, ошибка, как я вижу глазами, связана с constraints в таблице. И, судя по всему, это именно на этапе коммита и выясняется.

*а может и нет.

Максим
28.08.2018
12:09:33
go-playground/validator Ошибка Key: 'User.Email' Error:Field validation for 'Email' failed on the 'email' tag Код type User struct { Id uint `json:"id" gorm:"primary_key,AUTO_INCREMENT"` Email string `json:"email" gorm:"type:varchar(100);unique_index" validate:"required,email"` Password string `json:"password" gorm:"type:varchar(255);" validate:"required"` }

many-faced
28.08.2018
13:09:59
эту ошибку выдает ошибка получаемая из commit?
Да, но походу там ошибку реально можно получить ещё на .Exec(), я просто проглядел этот момент, она не ретёрнилась случайно.

Google
Alexey
28.08.2018
13:43:28
Привет всем! Подскажите пожалуйста, как быть в такой ситуации: Описал структуру type client struct { apiKey string secretKey string } Сделал её приватной чтобы объект было можно создать только через метод func GetClient(apiKey string, secretKey string) *client { client := new(client) client.apiKey = apiKey client.secretKey = secretKey return client } Теперь в другой структуре я хочу указать *client, но не могу этого сделать так как тип приватный. Как обычно поступают в подобных ситуациях?

Aleksandr
28.08.2018
13:46:14
ну если ты его сделал приватным (то есть не хочешь, чтобы его могли юзать в других пакетах), то что ты хочешь?

Alexey
28.08.2018
13:48:23
ну если ты его сделал приватным (то есть не хочешь, чтобы его могли юзать в других пакетах), то что ты хочешь?
Ну я скорее хочу гарантировать что при создании объекта в него будут установлены все обязательные для работы с API поля. Поэтому разрешаю создание только через метод, в котором нужно указать необходимые параметры

Alexey
28.08.2018
13:50:51
Интерфейсыыыыыы
Очень весёлое занятие писать в интерфейс все методлы апишки

Aleksandr
28.08.2018
13:51:10
Интерфейсыыыыыы
чем помогут интерфейсы в проблеме обязательности установки полей?

Igor
28.08.2018
13:51:28
Понял, а как лучше сделать?
дык а сделать публичный метод NewClient почему нельзя? и в нем инициировать все поля

Alexey
28.08.2018
13:52:00
Roman
28.08.2018
13:52:41
Igor
28.08.2018
13:53:17
ну так если пакет другой, то только делать структуру экспортируемой

Alexey
28.08.2018
13:53:33

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