Alexander
а при чем тут mvc и ооп ?
vld
есть куча mvc фреймворков
Dima
есть куча mvc фреймворков
Мне нужен свой велосипед
vld
точнее не куча) но есть
Dima
после perl 5 - без разницы) мнения о ООП на нём не сложишь))
На perl ООП это блеснутые грабли, задолбали в корень
Daniel
но именно для перловика никаких новостей нет, насколько я помню
🎉
Мне нужен свой велосипед
Вот здесь можно почитать. https://golang.org/doc/articles/wiki/
Dima
а при чем тут mvc и ооп ?
Мне такая схема нрацца, мне все равно будет ли это через ООП или как то иначе без разницы
Daniel
ооп тут перпендикулярно
Artem
чет кажется для мвс подход гоши будет куда лучше классики, тут смысл понятия "имеет" куда важнее, чем "является".
🎉
Мне такая схема нрацца, мне все равно будет ли это через ООП или как то иначе без разницы
Ещё вот https://habrahabr.ru/post/329582/ а так конечно эффектив го, готур...
Elena
Всем привет! Нарисовали к GoppherCon Russia серию отечественных гоферов, так что ловите тематический стикерпак: https://t.me/addstickers/GopherConRu
Elena
Elena
водка - яд 🙂 А в балетной пачке уже есть
Elena
🏁Александр
а где гофер в панике?
🏁Александр
водка - яд 🙂 А в балетной пачке уже есть
нарисуйте бегающего по кругу гофера с облачком panic и утешающего гофера с надпись recover 🙂
Stanislav
Пацаны, подскажите, а что указывается в `` ?
Stanislav
type Person struct { FirstName string db:"first_name" LastName string db:"last_name" Email string }
Stanislav
Как это правильно читать
Anonymous
теги?
Stanislav
А кто и как их обрабатывает?
Andrey
@vorona_karabuta Лена, привет! не знал что вы уже и по go конфы проводите 👍
🏁Александр
А кто и как их обрабатывает?
через рефлексию вычитывают
🏁Александр
обрабатывает либая либа которой это надо 🙂
Stanislav
Понял, спс, пойду гуглить)
Mikhail
Друзья. Я уже весь мозг себе сломал. Есть кучка файлов в дирректории. (~ 0-10000) Файлы периодически модифицируются. В директорию периодически сохраняются новые файлы. Задача следующая. Вылавливать новые файлы в дирректории. Вот так пробовал даты собрать: func statTimes(name string) (atime, mtime, ctime time.Time, err error) { fi, err := os.Stat(name) if err != nil { return } mtime = fi.ModTime() stat := fi.Sys().(*syscall.Stat_t) atime = time.Unix(int64(stat.Atim.Sec), int64(stat.Atim.Nsec)) ctime = time.Unix(int64(stat.Ctim.Sec), int64(stat.Ctim.Nsec)) return } Но mtime всегда равен ctime. Фс ext4. Мб нужно флаг монтирования раздела какой то?
Mikhail
Чёрт, нужен не ctime, а crtime
Mikhail
Чёрт, нужен не ctime, а crtime
а его нету.. не умеет ext4 похоже в эту фичу
Mikhail
debugfs только 😞
Mikhail
использую github.com/rjeczalik/notify
похоже то что нужно
Anonymous
нариканий пока нет, используется просто
Mikhail
нариканий пока нет, используется просто
пока искал решение этого вопроса, переписал утилиту и теперь crtime не очень то и нужен, как и notify 😊
Grisha
Подскажите как при маршалинге сделать чтобы data была пустым массивом, а не null type Response struct { Data []string `json:"data"` }
Alexander
при маршалинге или анмаршалинге?
Grisha
маршалинге
Grisha
сейчас выходи data: null, а нужно data: []
Alexander
Тогда нужно просто заполнить это поле в структуре пустым слайсом
Илья
return Response{Data: []string{}}
Илья
или Response.Data = make([]string,0)
Grisha
Ок, спасибо. Надеялся можно при обявлении структуры
Anonymous
Ок, спасибо. Надеялся можно при обявлении структуры
r := NewResponse() - считай это объявлением :) В самой функции инициализируешь что хочешь.
Grisha
Grisha
Имеется ввиду создание нового через NewResponse?
Anonymous
Да, думал создаёшь с нуля.
Grisha
А если задать вопрос по-другому, как у структуры можно задать значения полей «по умолчанию»
Andrei 🦉
А если задать вопрос по-другому, как у структуры можно задать значения полей «по умолчанию»
никак, если только сторонняя либа не поддерживает этот функционал через тэги
Alexander
Обычно делается функция-конструктор, которая заполняет структуру значениями по умолчанию.
Grisha
Я понял, спасибо
Alexander
функция-фабрика
Есть действительно какая то разница в терминологии? (это не с целью придраться, мне правда кажется, что это одно и то же)
Aleksandr
просто разные вещи
Alexander
Ок, только в Го нет конструкторов-методов.
Michael
https://golang.org/doc/effective_go.html#composite_literals
Aleksandr
брехня!
по ссылке фабричный метод называют конструктором. это не брехня, а неграмотность
Alexander
И сам сказал "фабричный *метод*" :)
Aleksandr
и?
Aleksandr
метод, а что еще?
Alexander
Это функция, а не метод
Alexander
ладно, это всё равно ни о чем. Мы все поняли и прекрасно знаем, как это работает
Michael
метод это функция с ресивером в Гоу
Aleksandr
Это функция, а не метод
да, согласен. ошибся
Vladislav
по ссылке фабричный метод называют конструктором. это не брехня, а неграмотность
Насколько мне известно фабрики это паттерн из ООП. И переносить это просто в Go ненужно. Называть неграмотными авторов официального сайта также сомнительная инициатива. Так уж случилось, что в go принято уже называть функцию NewType конструктором.
Roman
Hello, 中国! - The Go Blog https://blog.golang.org/hello-china
Roman
у китайцев появился официальный Го
Michael
можно начинать учить язык Чайны
Roman
и ставить gogs
Alex
Подскажите чем вы пользуетесь в компании для документирования функций и api?
Michael
кунгфу теоретиков)