Maxim
Maxim
можно в любой книжке по операционным системам об этом узнать
Maxim
у того же Таненбаума
Dmitry
Anonymous
Спасибо, буду заполнять пробелы
Alexander
Denis
Ребят, скажите пжлста, кто как ижектит зависимости в http handlers?
Соответственно чтобы можно было мокать базу, другие сервисы.
Не делать же обертки с разными параметрами на каждый хендлер.
Alexander
Делать хендлеры методами структуры и инжектит ьвсе в структуру например
Irina
Aleksandr
Kirill
Den
Так нельзя?
Leonid
Имеется ввиду, что переменная должна определяться в пакете, где она используется. Т.е. var д.б. в main, а не в пакете
Leonid
А тип из пакета
Leonid
Т.е. main.go: var cfg config.Cfg
Leonid
Хотя, в эпоху контекста это не однозначное утверждение.
Leonid
Многие будут спорит. Напомер, кэш где хранить?
Leonid
А если это спрятанный кэш?
Leonid
Именно это и не верно,с точки зрения первоначальной фразы
Leonid
В пакете описывают тип и свойства
Leonid
В мейн - инициализация, заполнение и т.п.
Leonid
Дальше передаем как параметры или через контекст
Den
А как правильно хранить конфиг который нужен во всех пакетах?
Denis
Leonid
В мейне и передавать, как параметр. Или через контекст.
Den
Дальше передаем как параметры или через контекст
ааа вот я тоже думал о том что возможно будет верным в каждую функцию которую я вызываю их майна передавать именно значения. Но тут столкнулся что у меня функции из пакета не понимают структуру AppConfig
Leonid
Но это теория. Ничего ужасного не случится, если и переменная будет в пакете. Это как с goto
Den
Leonid
Вопрос подхода. Я привёл пример кэша, который можно хранить в пакете, по-моему. Если он скрытый.
Den
Ок, спасибо вам @nikonor
Leonid
Проблема в том, что тогда его надо делать не экспортируемой и делать геь/сет
Leonid
Не за что.
Den
Leonid
Объект конфига.
Den
Leonid
Опять же - это тоже не обязательно. :-) просто так безопаснее. Имхо
Leonid
Значит, что переменная будет называться с маленькой буквы
Den
Понял спасибо)
Anonymous
Добрый вечер, Кто знает где в Украине можно пройти обучение по golang ?
Anonymous
Андрей
ты тоже с днепра?
Anonymous
нет, Киев, тоже самоучка , но хотелось бы поднять уровень как то
Anonymous
Узнаю что там у них , можно и в Днепре пожить )
Андрей
ааа прости
Андрей
харьков
Андрей
я ошибся
Андрей
https://spalah.ua/kh/school/golang
Андрей
держи
Anonymous
а это видел, боюсь эти курсы я уже перерос)
Sergius Ofitserov
Годные курсы вообще проблема найти
Den
Спасибо Кирилл!
Den
В удивительное время мы живем. Есть все возможности учиться, и такие группы просто - щербет!
Den
Спасибо всем!
Den
Ребятки а что значит:
const (
KeyArrowUp UIEvent = 1 « iota
KeyQ
)
эта штука потом используется вот тут
func InitUIHandlers(uiEventChan chan<- UIEvent) {
ui.Handle("/sys/kbd/q", func(ui.Event) {
uiEventChan <- KeyQ
})
}
не могу понять KeyQ какой эти тип данных
invariance
о, в го энумераторы есть
Stanislav
с разморозкой
invariance
я то только начал изучать его)
Den
Ок, спасибо. Правда из статьи не понял механику работу, но понял где дальше искать,
Den
Проблема у меня в том что e как бы int, но в фунецию которая принимает int она не лезет ибо (type view.UIEvent) as type int in argument to uiView.RenderUI
invariance
Den
type UIEvent int
Den
Да потом в коде есть такая штука
case e := <-uiEventChan:
а я хочу передавать e как int в фунецию и не пойму как ((
Den
Anonymous
https://tour.golang.org/concurrency/2
Den
я его прошел, потом написал первую утилиту и некоторые части прошел еще раз. но не могу понять как при
type UIEvent int
конвертировать переменную типа UIEvent в тип int что бы передать в функцию
Den
Anonymous
про iota:
https://newfivefour.com/golang-constants-enums.html
invariance
а какая разница между fmt.PrintLn и printLn?
invariance
эмм
Stanislav
Stanislav
println() - это рантаймовая и вообще плохо, если ее использовать
Den