@proGO

Страница 1050 из 1674
Aleksandr
13.12.2017
12:02:39
Пора свой язык делать
меня все устраивает

?
13.12.2017
12:04:37
Пора свой язык делать
если не нравится го, то можешь попробовать Kotlin

Alex
13.12.2017
12:06:58
Google
?
13.12.2017
12:07:26
В том и дело, что нравится.
а указатели и ссылки?

не обманывай себя)

Alex
13.12.2017
12:11:37
не, с указателями все ок)) Просто по началу тяжко с этим :) А теперь норм.

Alexey
13.12.2017
12:19:00
Александр
13.12.2017
12:19:19
я представляю их как методы класса

Aleksandr
13.12.2017
12:20:52
коллеги, а объясните в чем вы проблему видите с указателями?

Alexey
13.12.2017
12:21:18
а что это по вашему? ?
Это просто функция, у которой дополнительный аргумент

Если передавать указатель, то изменит значение в старом месте, если объект - то скопирует

Александр
13.12.2017
12:23:16
Это просто функция, у которой дополнительный аргумент
через рефлексию вроде можно дотянуться до всех кто относятся к этой структуре ?

Александр
13.12.2017
12:25:34
Это здесь не причём
ну значит язык знает про связь ?

Google
Alexey
13.12.2017
12:29:28
ну значит язык знает про связь ?
Там вроде вообще не важно, в receiver передан указатель, или как обычный аргумент, не?) (но тут я не уверен, я не проверял)

Александр
13.12.2017
12:30:18
"в receiver передан указатель, или как обычный аргумент, не" не понял

Alexey
13.12.2017
12:31:05
"в receiver передан указатель, или как обычный аргумент, не" не понял
Рефлексия на любых указателях работает, как переданных в receiver, так и переданных как обычные аргументы.

Ладно, я ушёл код писать:)

Aleksandr
13.12.2017
12:32:53
"в receiver передан указатель, или как обычный аргумент, не" не понял
func (receiver *Recever) Name(param string) это работает как func Name(receiver *Recever, param string)

просто контекст поменяли

Александр
13.12.2017
12:34:35
кстати про контекст, его не явно можно передать?

у меня хендлеры соотвествуют http.Handle, хотел там контекс из middleware получить

через структуру знаю ?

я подумал может как то "глобально" можно прокинуть

Aleksandr
13.12.2017
12:35:52
кстати про контекст, его не явно можно передать?
контекст ничем не отличается от всего остального в языке

контекст имеет request scope. Глобально он не может и не должен быть

Александр
13.12.2017
12:37:11
блин, неужели придеться ради аргументов в URL делать свой интерфейс с поддержкой третьего аргумента ?

типо ServeHTTP(w http.ResponseWriter, r *http.Request, rp httprouter.Params)

или в структуре хреначить свойство Context *context.Context

Aleksandr
13.12.2017
12:39:33
request же имееет контекст?

Александр
13.12.2017
12:39:49
а точняк же

забыл про него

щаз попробую бахнуть туда

Aleksandr
13.12.2017
12:40:14
я написал как-то свой роутер с мидлварями, но в продакшне вроде нигде не заюзал. там у меня такой код: func injectParameters(r *http.Request, pattern string, path string) *http.Request { re := regexp.MustCompile(pattern) matches := re.FindStringSubmatch(path) names := re.SubexpNames() for i, match := range matches { if i != 0 { ctx := context.WithValue(r.Context(), names[i], match) r = r.WithContext(ctx) } } return r }

Google
Александр
13.12.2017
12:40:59
аго аго

сенки

хотя я читал что контекст течет зараза

Aleksandr
13.12.2017
12:42:39
хотя я читал что контекст течет зараза
зачем течет? он же простой. там течь нечему

Александр
13.12.2017
12:48:54
зачем течет? он же простой. там течь нечему
я не проверял, но так говорят

А где можно почитать по именовают? Пакет называется config, функция называется newConfig(path string)

мне кажется тавтология ?

Aleksandr
13.12.2017
13:04:08
просто New

c := config.New()

Александр
13.12.2017
13:04:36
тогда уж c := config.New("path/to/file.cfg")

Aleksandr
13.12.2017
13:04:54
ну я опустил лишнее. разберешься)

Александр
13.12.2017
13:05:23
еще if err != nil { log.Fatal(err) } по всему коду утомляют ?

Александр
13.12.2017
13:05:44
33 библиотеки инициализируешь, 33 раза проверил

Aleksandr
13.12.2017
13:06:00
увы

с другой стороны как иначе?

Александр
13.12.2017
13:06:19
не знаю насколько кашерн это в main делать

длинный выходит

с другой стороны как иначе?
func validError(errs ...error) error { for i, _ := range errs { if errs[i] != nil { return errs[i] } } return nil }

народ там преложил заморочиться ?

юзать так: x, err1 := doSomething(2) y, err2 := doSomething(3) if e := validError(err1, err2); e != nil { return e }

Google
Aleksandr
13.12.2017
13:08:41
на второй строчке уже может сломаться, если зависит от первой

проверка ошибок всегда разная. унифицировать не стоит

Александр
13.12.2017
13:08:53
это да

лол

func doA() (A, error) { ... } func doB(a A, err error) (B, error) { ... } c, err := doB(doA())

ну это вообще антипаттерн имхо ?

Alexander
13.12.2017
14:14:20
Кто в курсе, как можно в go test передать свой флаг с путем к файлу конфига например?

Admin
ERROR: S client not available

Alexander
13.12.2017
14:15:34
Или какие вобще практики в тестах инфу снаружи получать какую-то? Из env?

Александр
13.12.2017
14:17:58
Кто в курсе, как можно в go test передать свой флаг с путем к файлу конфига например?
я конечно еще не пробывал, а просто передать аргументами не прокатит?

Alexander
13.12.2017
14:18:21
у меня не прокатывает)

Александр
13.12.2017
14:18:54
https://siongui.github.io/2017/04/28/command-line-argument-in-golang-test/

Alexander
13.12.2017
14:21:44
ага видел, он ругается flag provided but not defined: -flagName

разобрался надо было в инит запихать

Александр
13.12.2017
15:08:11
а если я делаю суб пакет, например user/handler

к нему только как к handler можно обращаться из main?

просто тогда имена конфликтуют, или алиасы прописывай

Aleksandr
13.12.2017
15:22:58
или по имени или по алиасу

Александр
13.12.2017
15:23:13
или я неправильно именую..

раз название пакета повторяется в каждой из сущностей (доменная архитектура)

Google
Aleksandr
13.12.2017
15:24:36
Kirill
13.12.2017
15:38:46
Товарищи гоферы, а в го есть аналог any/all для слайсов? Или только все через for только хардкор?

Kirill
13.12.2017
15:39:23
окаааай

John
13.12.2017
15:52:58
окаааай
ага, а еще и set'ов нету ))

наверное, одна из немногих вещей, которой мне действительно не хватает

Kirill
13.12.2017
15:53:48
или множества?

John
13.12.2017
15:54:12
Kirill
13.12.2017
15:55:14
Угу, есть такое. А для гошки нет популярного пакета вида "1000 офигительных функций и типов которых почем-то нет в стандарте" ?

John
13.12.2017
15:56:00
именно такого пакета, все в одном, Я не видел. Да и смысл ...

Hexwell
13.12.2017
15:57:16
что телега забыла в /dev/tty

John
13.12.2017
15:58:32
Hexwell
13.12.2017
15:58:44
а вдруг блобы

John
13.12.2017
16:01:22
тогда старадай

Hexwell
13.12.2017
16:02:01
чому, я просто же запретил телеге доступ

и зачем мой скрин удалили

или я не кидал

Страница 1050 из 1674