
Aleksandr
06.03.2018
18:51:17
Ошибка выжившего называется

Sergey
06.03.2018
19:01:29
Ребят, всем привет,
нужно с нуля влиться в go и инфраструктуру, посоветуйте, пожалуйста, какой-нибудь хороший гайд
или если туториал на оф. сайте и так норм, то не надо ?

Axm
06.03.2018
19:02:07
Туториал норм и статьи вводные там же

Sergey
06.03.2018
19:02:15
спасибо большое

Google

Slava
06.03.2018
19:17:51

Никита
06.03.2018
19:18:32
Есть два слайса : [1, 2, 3, 4, 5] и [1, 2]. Нужно получить только те елементы, которых нет во втором. Как можно реализовать?

Slava
06.03.2018
19:18:32

Artem
06.03.2018
19:29:09
Есть два слайса : [1, 2, 3, 4, 5] и [1, 2]. Нужно получить только те елементы, которых нет во втором. Как можно реализовать?
почитайте про пересечение упорядоченных множеств
p.s. в лоб решается через разность но так не интересно пример python
list(set([1,2,3,4,5])-set([1,2]))

Artem
06.03.2018
19:53:55
подскажите, пожалуйста, как сделать несколько куки?
cookies := &http.Cookie{Name: "Flavor", Value: "Chocolate Chip"}
не понимаю как следующую пару добавить

Aleksandr
06.03.2018
19:59:34
Создай слайс

Artem
06.03.2018
20:00:58
Мне надо как-то в цикле добавить, слайс не подойдет

Aleksandr
06.03.2018
20:01:51
Создай слайс, в цикле добавь в слайс
Артем, я бы хотел чтобы ты просил помощи в чате, хотя бы зная синтаксис языка

Artem
06.03.2018
20:02:30
Как потом этот слайс использовать?

Aleksandr
06.03.2018
20:02:45
Как хотел

Artem
06.03.2018
20:03:01
Так вот же познаю синтаксис)

Aleksandr
06.03.2018
20:03:02
Тебе же нужна пара?

Google

Artem
06.03.2018
20:03:43
У меня есть куки в формате
value=name
value2=name2
value3=name3

Aleksandr
06.03.2018
20:03:44
Книжка Керриган

Artem
06.03.2018
20:04:03
Мне их надо загнать в http.cookie

Aleksandr
06.03.2018
20:04:07
Прочти и возвращайся

Artem
06.03.2018
20:04:09
first steps я прошел

Aleksandr
06.03.2018
20:04:18
Нет, не прошел
Ведь ты не знаешь как слайс использовать

Artem
06.03.2018
20:04:31
Там про куки ничего не было

Aleksandr
06.03.2018
20:04:40
Куки здесь немпричем

Artem
06.03.2018
20:04:42
Слайс будет строковый, а там другой формат

Aleksandr
06.03.2018
20:04:55
Слайс бывает разных типов
Не прошел

Artem
06.03.2018
20:06:06
речь о https://tour.golang.org/?

Aleksandr
06.03.2018
20:06:20
Например

Artem
06.03.2018
20:06:23
Прошел

Aleksandr
06.03.2018
20:07:23
https://go-tour-ru-ru.appspot.com/moretypes/7
Вот про слайс
Про строки тут ни слова
https://go-tour-ru-ru.appspot.com/moretypes/15

Google

Aleksandr
06.03.2018
20:07:56
Добавление в слайс

Artem
06.03.2018
20:08:17
Я знаю как работать со слайсами, я не знаю как потом его в куки перевести

Aleksandr
06.03.2018
20:08:40
Я пас

Dibro
06.03.2018
20:11:39

Artem
06.03.2018
20:11:49
HTTP запросы

Dibro
06.03.2018
20:11:54
почему нельзя
req.AddCookie(&cookie1)
req.AddCookie(&cookie2)

Artem
06.03.2018
20:12:00
Не
Мне в функцию передать надо

Dibro
06.03.2018
20:12:18
передай слайс кук
в чем трабл

Artem
06.03.2018
20:13:30
Потому что не знаю как
cannot use cookie (type []string) as type string in field value

Dibro
06.03.2018
20:14:09
можно весь код?

Denis
06.03.2018
20:17:26

Artem
06.03.2018
20:19:25
cookies = append(cookies, &http.Cookie{"name", "value"})
Так?

Denis
06.03.2018
20:19:47
да

Artem
06.03.2018
20:19:54
too few values in struct initializer

Denis
06.03.2018
20:20:12
блин!

Quet
06.03.2018
20:20:24
наверное стоит пройти хотя б a tour of go ?

Google

Denis
06.03.2018
20:20:38
слушай, тебе наверное кажется, что мы над тобой издеваемся, не говоря просто разу правильного ответа

Artem
06.03.2018
20:20:41
а всё
я допер

Denis
06.03.2018
20:20:49
но это просто потому что ты не понимашь синтаксиса языка. пройди тур

Artem
06.03.2018
20:20:51
cookies = append(cookies, &http.Cookie{Name: "value", Value: "value"})

Quet
06.03.2018
20:21:02

Artem
06.03.2018
20:21:48
Спасибо большое)
Есть кто не устал?)
функция возвращает (response.UsersResponse, error)
как мне вывести response.UsersResponse в формате JSON на экран браузера?) заранее извиняюсь, что достал)
я вроде немного разобрался, но не знаю что передать Write()
w.Header().Set("Content-Type", "application/json")
w.Write()

Admin
ERROR: S client not available

Dmitri
06.03.2018
21:14:24
json.NewEncoder(w).Encode(response.UsersResponse)

Artem
06.03.2018
21:15:48
w.Header().Set("Content-Type", "application/json") - а это н ужно?

Dmitri
06.03.2018
21:16:15
если клиенту нужно, то нужно

Artem
06.03.2018
21:18:39
а как правильно обратиться к response.UsersResponse, если я поместил результат функции в result? result.response.UsersResponse чет не катит
Сам возврат происходит так:
resp := response.UsersResponse{}
err = json.Unmarshal(body, &resp)
return resp, err
пробовал еще по-другому, тогда
too many arguments in call to json.NewEncoder(w).Encode
have (response.UsersResponse, error)
want (interface {})

Nikita
06.03.2018
21:32:16
Народ, где можно сравнить тельной быстро поднять несколько отдельных виртуалок, протестить микросервисы математики, которые проц кушают хорошо
По сути докер контейнеры
И nats

Dmitry
06.03.2018
21:32:51
Докер, вагрант
Вагрант очень прост

Google

Dmitry
06.03.2018
21:33:58

Artem
06.03.2018
21:37:47
Это я просто с гитхаба установил
Мне теперь нужно вывести в браузере то, что возвращает функция

Dmitry
06.03.2018
21:41:11
Воспользуйся gin framework
Он json очень хорошо выводит
И вообще крутой и простой фрейморк

Constantine
06.03.2018
21:42:05

Dmitry
06.03.2018
21:44:16
c.JSON(http.StatusOK, gin.H{
"status": "You are logged in",
"token": user.Token,
})

Artem
06.03.2018
21:44:43

Constantine
06.03.2018
21:51:03
Подскажешь?
https://kev.inburke.com/kevin/golang-json-http/

Artem
06.03.2018
21:54:15
Там все через структуру, а у меня чуть другое

The
06.03.2018
22:59:20
господа, а если у нас мультиплексирование через select, и в одном из case мы пишем в канал (а в других - читаем), то Go запишет туда только когда кто-то будет читать, или он запишет, а когда кто-то прочитает, то получит уже готовое значение? Дело в том, что у меня канал без буфера, и я вот такую штуку проделал, и select спокойно работает, и не лочится. Часто вижу такую конструкцию, хочу просто чтобы кто-то прояснил мне, чтобы не было ошибочных мыслей.
и второй вопрос, если я добавлю буфер, то он набьет этот буфер значениями, а потом передаст мультиплексирование на другие case?

Quet
06.03.2018
23:15:24
??

Slava
06.03.2018
23:43:19
господа, а если у нас мультиплексирование через select, и в одном из case мы пишем в канал (а в других - читаем), то Go запишет туда только когда кто-то будет читать, или он запишет, а когда кто-то прочитает, то получит уже готовое значение? Дело в том, что у меня канал без буфера, и я вот такую штуку проделал, и select спокойно работает, и не лочится. Часто вижу такую конструкцию, хочу просто чтобы кто-то прояснил мне, чтобы не было ошибочных мыслей.
1) селект блокируется на небуферизированном канале, если никто не читает 2) что значит у вас селект не лочится? он заходит в case записи в канал когда из него никто не читает?
@zloydead в этом канале оскорбления не приветствуются


The
06.03.2018
23:49:51
Вот код: https://pastebin.com/aEpwa4Cv
Вкратце:
У меня есть горутина, внутри неё я создаю тикер (time.Ticker), и захожу в бесконечный цикл. Внутри цикла:
- либо читаем из тикера
- либо читаем из канала setDuration, куда приходит time.Duration (чтобы установить новый интервал для тикера)
- либо пишем в канал getDuration (если кому-то нужно знать, какая пауза у тикера стоит)
через HTTP обращаюсь к хендлеру, он вызывает метод GetInterval (в той ссылке что я скинул он в самом начале), и сразу получает интервал, при этом если я не вызываю этот хендлер, то select работает с тикером вполне себе успешно, и не лочится на отправке в getDur (никто же не читает оттуда)
Про то, что один case выполняется - я понимаю это. Интересует именно тот case, где происходит отправка. По той ссылке что вы дали, вижу вот это A select blocks until one of its cases can run, then it executes that case. It chooses one at random if multiple are ready. В моем случае, если мы не читаем не из одного канала, при этом есть один case с записью в небуферизированный канал, и из канала никто не читает, значит этот case не выполнится. На практике так, а вы говорите что будет блока. А блоки не происходит, вот собственно и стало любопытно.


Slava
07.03.2018
00:02:02
сделайте полный код, который выполняется в playground