🏁Александр
только если читать прямо из файлв внутри init
🏁Александр
но это не очень кашерно
Alexey
А как лучше?
🏁Александр
передача параметров из main лучше
🏁Александр
в моем примере есть функция NewConnect
🏁Александр
вот ее вызываете в main
🏁Александр
в остальный GetConnect
🏁Александр
(помните что если переменная или функция не начинается с заглавной буквы, она не доступна вне пакета)
Alexey
Понял, спасибо)
Alexey
А можно как-нибудь достучаться к глобальной пременной созданной в main пакете из других пакетов подключаемых в main?
🏁Александр
нет
Alexey
Изначально пытался сделать что-то вроде единого объекта приложения и хранить в нём подключение к БД, логер и тд. type Application struct { db *gorm.DB } func (a *Application) GetDB() *gorm.DB { return a.db } var App *Application func main() { db, err := appDb.GetConnection() if err != nil { fmt.Println("DB connection failed: " + err.Error()) return } defer db.Close() App = &Application{ db: db, } }
Alexey
Но обламался на доступе(
🏁Александр
нормально в принципе
🏁Александр
его в отдельный пакет оформите просто
🏁Александр
application
Alexey
ПОнял
🏁Александр
и дальше как бд
🏁Александр
щаз же вия разбудите
Alexey
и дальше как бд
Спаибо, друг)
Olzhas
Zloy-Dobry
Ебать, какой жирный
Ευγένιος
Нода, пыха. Вы че обливаетесь дерьмом?
Ευγένιος
Ало.
Ευγένιος
Суббота что ли?
Aleksandr
узнаю туповатый троллинг неоднократно баненного
Ευγένιος
Точно суббота.
Olzhas
У меня отпуск с понедельника
Olzhas
Какой-то тип нахваливал ноду и поливал грязью го
Olzhas
Он просто про пхп не знал наверное
Olzhas
Так бы все нахваливал, кроме ноды
Ευγένιος
У меня отпуск с понедельника
О, нифига ты обкуренный походу.
Olzhas
О, нифига ты обкуренный походу.
Ну выходные начались с четверга
Olzhas
Ибо в пятницу было д.р. солнцеликого
Olzhas
О, нифига ты обкуренный походу.
Со следующего понедельника
Olzhas
Это все знают
Ευγένιος
А пыхерей в говно.
Olzhas
В принципе, программирование вообще говно
Olzhas
Лучше бы автослесарем работал
Olzhas
В мире питона не бывает
Ευγένιος
Ну да, я эту тему и несу.
Alexey
один раз
Решил делать не через init() и видимо опять наступил на грабли Реализовал пакет DB вот таким образом var connect *gorm.DB func GetConnection() (*gorm.DB, error) { if connect != nil { return connect, nil } connect, err := gorm.Open("postgres", "host=localhost port=5432 user=user dbname=db password=pass") if err != nil { connect = nil } return connect, err } в пакете main вызываю функцию GetConnection в надежде инициализировать переменную connect, но при вызове из других пакетов она пересоздаётся. В итоге не удалось сделать объект подключения глобальным Как стоит исправить код?
🏁Александр
я уже в метро :(
🏁Александр
проверь внимательно после первого вызова полная ли переменная
🏁Александр
или может горм откинул nil туда
🏁Александр
распечатай перед ретурном
Alexey
Сейчас проверю. Gorm иногда преподносит сюрпризы)
Alexey
Вернул в коннект объект. Оно не nil
🏁Александр
@onokonem помоги человеку, я афк :)
🏁Александр
Вернул в коннект объект. Оно не nil
у вас несколько гоурутин?
🏁Александр
https://4gophers.ru/articles/singlton-pattern-na-go/#.W0DKrRZn3YU
🏁Александр
пролистайте вниз там пример с синглатоном
🏁Александр
тогда ясно
🏁Александр
выше прочитайте
Alexey
Да да, сылочку увидел, читаю, спасибо
🏁Александр
самый последний пример
Alexey
самый последний пример
Работает отлично! спасибо!
Anonymous
как это сделать?
Anonymous
чтобы функция возвращала элемент как с канала
Aleksandr
Канал надо вернуть в функции
Vadim
как это сделать?
Сделай канал, и попроси функцию слать в этот канал
Aleksandr
не работает
Что не работает? В канал то слать надо, чтобы получить из него
Aleksandr
Ну слушай, почитай доку. Делай буферизованный канал
Anonymous
все норм
Anonymous
а поч из-за небуферизованного канала поток виснет
Aleksandr
Потому что нельзя в канал слать данные, если их ещё не получили оттуда
Anonymous
ясн
Vadim
костыльно
Сама эта идея костыльна.
Мерль
не работает
плохая идея
Мерль
не работает
Что не работает? Какое поведение ты ожидаешь?
Мерль
а
Pawel
не работает
найди в себе силы и выдели себе 2-3 дня на изучение Го, а?
Slava
тур можно пройти за пару часов
Oleg
кто-то пользует монорепо?