Daniel
Что такое фенкция фильтрации?
Anton
да, это было лишнее
Anton
функция типа
Anonymous
зависит от методов же
Anonymous
функция типа это интерфейс
Anonymous
если я правильно понимаю )
Anonymous
на структуры обобщающих типов нет
Anton
func (as typeAwithName) filterTypes(f func(typeAwithName) bool) []typeAwithName { asf := make([]typeAwithName, 0) for _, a := range as { if f(a) { asf = append(asf, a) } } return asf }
Anton
я имею ввиду такого вида функцию
Мерль
Кратко про Go 1.9 http://golangshow.com/episode/2017/08-30-108/ #подкаст
Anton
я не могу их как-то единым типом объединить?
Oleksii
я не могу их как-то единым типом объединить?
Создай интерфейс, имплементируй его для нужных типов
Oleksii
И в функции принимай интерфейс
Anton
хммм....)
Anton
спасибо, посмотрю в эту сторону))
Anton
я так понимаю, даже если я использую интерфейс, реализацию функции для каждого типа все равно придется писать свою, да?
Илья
или, для использования твоей функции, нужно будет каждый раз пересобирать слайс из интерфейсов
S
Привет я питон разработчик))) и начал учить го)))
S
поэтому вопросов может быть больше чем овтетов
Oleksii
http://neprivet.ru
S
Алоха!
Andrey
что-то от вас пхп попахивает, "питон разработчик" :)
Aleksandr
https://habrahabr.ru/post/337158/
engelbart
Подскажите народ, как бы мне сделать такой fmt.printf ( или аналог) для map-ы, что б потом можно было сразу в код вставить (в тест) типа want := map[string]map[string]string{ "aa":{ "bb":"cc",
Daniel
%#+v не подойдет?
engelbart
они огромные мапищи, потом приходится там до упопромачения редкатировать
engelbart
json.MarshalIndent помойму оно
Alexander
не въезжаю, как вытащить UserId типа int, находящийся в jwt token.Claims ?
Alexander
https://github.com/dgrijalva/jwt-go/
Marina
Всем привет! Подскажите, пожалуйста, можно ли постить вакансии на этом канале?
Alexander
если больше 150тр, то можно :)
Alexander
(шутка)
Илья
для вакансий есть https://t.me/golangjob
Aleksandr
не въезжаю, как вытащить UserId типа int, находящийся в jwt token.Claims ?
В коде нет User ID. Распечатай через Printf и посмотри что есть
Alexander
https://godoc.org/github.com/dgrijalva/jwt-go#example-Parse--Hmac
а как мне преобразовать claims["foo"] в int ?
Alexander
cannot convert claims["UserId"] (type interface {}) to type int: need type assertion
Илья
Fmt printf %T, чтобы посмотреть тип переменной в interface, type assertion для преобразования
Aleksandr
claims["UserId"].(int) если это int
Alexander
ага, спасибо. Я до этого не знал, что такое type assertion.
Andrey
кто нибудь использует не стандартный шаблонизатор?
Илья
https://github.com/go-qbit/template
Илья
только TT только хардкор
An7on
Pongo +
Давид
Все привет А кто-нибудь пользуется easyjson? Можете подсказать: https://github.com/mailru/easyjson/issues/141
Илья
пользуюсь, для этих типов нужно сделать свой wrapper и реализовать IsDefined() bool
Мерль
Скорее всего easyjson не умеет работать с nulltime и nullstring
Сделай структуру-адаптер, в которой они транслируются в *time.Time и *string
Илья
если руки дойдут сделаю pullRequest в opt типы
Мерль
И уже её маршаль в json
Давид
Нашел ответ: https://github.com/mailru/easyjson/issues/141#issuecomment-327190594
Давид
Спасибо за помощь!
Давид
Правда, не уверен, что он достаточно корректный
Мерль
Структура адаптер?
Структуру вида type User struct { Id int64 json:",omitempty" Email string sql:"index" CreatedAt *time.Time json:",omitempty"" DeletedAt *time.Time json:",omitempty" Phone *string json:",omitempty" }
Давид
Да, у меня сейчас основная структуру именно такая и, видимо, добавлять еще одну схожую, но для json мне не нужно Но думаю в будущем я сделаю несколько структур для разных вижов запросов, посмотрим
Давид
А еще момент: Где можно посмотреть хороший пример web проекта, в котором испольуется MVC, но без библиотек? Я сейчас начал делать слой моделей, но не понимаю: создавать ли мне экзмепляр структуры внутри функций типа GetUser и return его, или возвращать pointer на этот эксземпляр или вообще в саму функцию передать pointer на экземпляр предварительно созданный в контроллере
Давид
Кстати, есть предложение: я достаточно проженный front-end программист (особенно много работал с React и Redux) Если здесь есть хороший Go программист секущий в backend и готовый ответить на некоторые мои вопросы взамен на информацию по front-end прошу в ЛС)
Давид
Или человек, который готов помочь новичку) Впервые разрабатываю backend на GO для общения arduino девайсов и многое для меня непонятно
Илья
Нашел ответ: https://github.com/mailru/easyjson/issues/141#issuecomment-327190594
ну вообще ты странное сделал, мжоно убрать там sql.NullString и pq.NullTime и принимать просто *time.Time и *string
Илья
тк в случае указателя, у тебя уже решен кейс с nil вместо значения. в sql делают сруктуру, тк она копируется и остается на стеке, а ссылка убежит в хип
Илья
если хочешь, чтобы работало omitempty, то да
Илья
А все string имеет смысл переписать в *string?
нет, только те, которые могут из базы в nil приходить :)
Илья
ну, или сделать структуру https://gist.github.com/sexyhamster/ea0b77308c7df38cd7230baaa2dfa51f
Vasily
issue можно закрывать или объяснить почему такое поведение получается ?
Vasily
я погляжу ещё как доберусь что там с TextMarshaler у этих структур
Давид
issue можно закрывать или объяснить почему такое поведение получается ?
Было бы замечательно еще раз получить объяснение данного поведения
Давид
Кстати, нашел немного информации про выбор получения \ возврата pointer в функциях: Основа: https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/02.3.html Extended: https://github.com/golang/go/wiki/CodeReviewComments#receiver-type
Vasily
DeletedAt pq.NullTime `json:",omitempty" db:"deleted_at"`' это структура, у неё есть моле Valid и Time ( условно ) но сериализатор ничего не знает про то, как проеделить что эта структура Empty