Kirill
да не за что
aadz
да не за что
заметь, что от функции ты получаешь не объекты, а результат
aadz
Go немножко строгий
Brommie
привет, принялся учиь го и тут сразу вопрос) Вырезка с доков - Most Go programmers keep all their Go source code and dependencies in a single workspace. что это вообще дает? Спасибо!
Brommie
и в догонку - как правильней всего начать учить его?
aadz
не туда ответил
OK! Просто по привычке уже :)
aadz
и в догонку - как правильней всего начать учить его?
Пройди весь https://tour.golang.org/welcome/1 для начала. И тогда все будет просто
aadz
Ну, значит, ты уж езнаешь язык
Brommie
нуу нет
aadz
а чего не знаешь?
Brommie
ну вот к примеру вопрос выше, почему должен быть 1 воркспейс
aadz
а должен быть 1?
Brommie
Most Go programmers keep all their Go source code and dependencies in a single workspace
Brommie
это тут https://golang.org/doc/code.html
Brommie
звучит как бест практис
Brommie
Ну, значит, ты уж езнаешь язык
к слову - нужно больше деталей, мелочей постигнуть)
aadz
Ну, это уже не так. Три дня назад вышло 1.11, там уже есть некоторое движение к тому, чтобы что-то изменить в лучшую сторону
Brommie
вот думаю читать все доки по но, или книгу донована
Brommie
чтобы мягче войтивайти)
aadz
Пиши больше, и параллельно книгу читай, если хочешь. И все
Brommie
Больше пиши - больше постигнешь
ну надо же от простого к сложному
Brommie
а то я взглянул на использование Гугл СДК и немного не понял что к чему
aadz
нет, от простого к сложному - не надо. Не усыпляй себя
aadz
по сути, нет ни простого, ни сложного. Больше на GO пишешь, проще задавать реальные вопросы :)
aadz
и всегда придет Дима Вьюков, который скажет, что это очень простой вопрос, но что вы хотели получить в итоге :)/ Или типа того :)
Brommie
)))
Dmitriy
а то я взглянул на использование Гугл СДК и немного не понял что к чему
Возми VS vode его не сложно настроить и реши конкретную задачу. Из простого напиши полиндром проверку. Ну и т.д.
Alex
вот думаю читать все доки по но, или книгу донована
Если это первый язык, то надо много писать, как тут уже и сказали, лучше каждый день. В конце концов, задача стоит научиться писать, а не читать) А читать что-то можно или параллельно, или уже со временем просто возникнет потребность. Порешай задачки на http://codeforces.com/, там даже есть уже большинство решений в которые можно подглядывать для начала, напиши сервер на основе гошной статьи https://golang.org/doc/articles/wiki/, и двигайся дальше, придумывай и решай задачи себе, или попроси чтоб кто-то придумал тебе их. Также очень помогает смотреть и разбирать чужой код, например, код тех же пакетов гошных.
vld
Здравствуйте, может кто поможет. Такая ситация, делаю коннект по tcp до постгреса, который на удаленном сервере лежит, но он отваливается, каждые 10-15 минут и нужно перезапускать приложение. Кто скажет в чем причина? Либу использую: https://github.com/lib/pq , ошибка connection timed out
Brommie
Это даёт нормальные импорты
а что тогда с разными версиями пакетов?
Leonid
а что тогда с разными версиями пакетов?
вы правда хотите это обсужать? или это троллинг?
Leonid
если первое, что читаем по слову вендоринг
Leonid
ну и вчерашняя статья на хабре
Leonid
хороший перевод
Anonymous
Снова про тесты и сервис с cobra если я в функции теста вызвыаю cmd.Execute - то запускается приложение но оно висит и никак я его не могу остановиться по заверешнию теста сделал так func Exit() { os.Exit(1) } но после cmd.Execute - cmd.Exit ничего не делает, я так понимаю из за того что они не видят одну и туже аппу?
Anonymous
именно сама аппа нет
Artem
а кто слушает
Daniel
аппа, конечно, слушает, стандартной либой
Daniel
и реагирует стандартно
Alex
Всем привет
Alex
тут есть кто на go тунель поднимал ?
Alex
по вот этому типу https://github.com/bigeagle/gohop/
Anonymous
Anonymous
как ее кильнуть по завершению теста?
Aleksandr
вот такой проект есть для любителей vscode https://github.com/VSCodium/vscodium
Roman
вот такой проект есть для любителей vscode https://github.com/VSCodium/vscodium
пока не вижу смысла, пока-что доверяю микромягким
Artem
пока не вижу смысла, пока-что доверяю микромягким
Когда перестаешь доверять уже будет поздно
Roman
Когда перестаешь доверять уже будет поздно
а что может случиться? они украдут мой опен сорсный код?))
Artem
а что может случиться? они украдут мой опен сорсный код?))
Сидишь такой, а тебе скидки на диваны всплывают
Igor
Народ, подскажите, для sql траззакций, для tx.Commit() Есть возможность вылавливать что-то помимо невнятного текста "Could not complete operation in a failed transaction" ? Как понять что причина ошибки
Илья
проверять ошибки в операциях до коммита?
Igor
они не сыплются до коммита
Igor
например, ошибка, как я вижу глазами, связана с constraints в таблице. И, судя по всему, это именно на этапе коммита и выясняется.
Igor
*а может и нет.
Максим
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"` }
Igor
эту ошибку выдает ошибка получаемая из commit?
Да, но походу там ошибку реально можно получить ещё на .Exec(), я просто проглядел этот момент, она не ретёрнилась случайно.
Alexey
Привет всем! Подскажите пожалуйста, как быть в такой ситуации: Описал структуру 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
ну если ты его сделал приватным (то есть не хочешь, чтобы его могли юзать в других пакетах), то что ты хочешь?
Alexey
ну если ты его сделал приватным (то есть не хочешь, чтобы его могли юзать в других пакетах), то что ты хочешь?
Ну я скорее хочу гарантировать что при создании объекта в него будут установлены все обязательные для работы с API поля. Поэтому разрешаю создание только через метод, в котором нужно указать необходимые параметры
Alexey
Интерфейсыыыыыы
Очень весёлое занятие писать в интерфейс все методлы апишки
Aleksandr
Интерфейсыыыыыы
чем помогут интерфейсы в проблеме обязательности установки полей?
Stepan
Понял, а как лучше сделать?
дык а сделать публичный метод NewClient почему нельзя? и в нем инициировать все поля