
Dmitri
04.06.2018
16:02:00
а причем тут time.After?
При том, что это канал. В момент, когда ты пишешь <-time.After(5 * time.Second) твоя текущая горутин блочится, пока из этого канала не придет что-нибудь

Sergey
04.06.2018
16:04:05

Google

Artem
04.06.2018
16:04:34

Dmitri
04.06.2018
16:04:54
Стоп, значит, не тот пакет

Sergey
04.06.2018
16:05:02

Artem
04.06.2018
16:05:06
это какой то другой time.After?

Sergey
04.06.2018
16:05:16

Artem
04.06.2018
16:05:34
как time

Dmitri
04.06.2018
16:06:13
Значит ты из bool'а пытаешься что-то получить

Artem
04.06.2018
16:06:30
я не пытаюсь
я тупо смотрю примеры
давайте вот так
https://gobyexample.com/timeouts

Sergey
04.06.2018
16:06:51

Dmitri
04.06.2018
16:07:08
Вероятно, должно быть что-то вроде tick

Google

Artem
04.06.2018
16:07:22
так

Dmitri
04.06.2018
16:08:06
В примере select из канала

Artem
04.06.2018
16:08:12
да хуй с ним
вон последний пример
Сергей кинул

Sergey
04.06.2018
16:08:19

Artem
04.06.2018
16:08:22
проще и очевиднее
откуда берется задержка?(

Dmitri
04.06.2018
16:09:23
смотри мою ссылку
С твоей я все понял. Был неправ, попутал пакеты. time.After это тупо бул

Sergey
04.06.2018
16:09:40
так тот же пакет
ты о чём

Artem
04.06.2018
16:09:58
да тот же пакет все то же

Sergey
04.06.2018
16:10:01
https://golang.org/pkg/time/#Time.After

Artem
04.06.2018
16:10:05
тут очевидно какая-то скрытая магия есть

Daniel
04.06.2018
16:10:16
А?!

Sergey
04.06.2018
16:10:35
А?!
почему можно прочитать из time.After()?

Dmitri
04.06.2018
16:10:36
В случае примера задержка из time.Sleep

Artem
04.06.2018
16:11:15
бля

Google

Artem
04.06.2018
16:12:33
функция не та
пиздец

Sergey
04.06.2018
16:12:48
мм?

Artem
04.06.2018
16:12:56
https://golang.org/pkg/time/#Time.After

Dmitri
04.06.2018
16:13:26
Там выше go func с time.Sleep внутри

Sergey
04.06.2018
16:13:31
ммм?
так а в моём примере-то что?
https://play.golang.org/p/QaEMWZR4K5_D

Artem
04.06.2018
16:13:55
After waits for the duration to elapse and then sends the current time on the returned channel. It is equivalent to NewTimer(d).C. The underlying Timer is not recovered by the garbage collector until the timer fires. If efficiency is a concern, use NewTimer instead and call Timer.Stop if the timer is no longer needed.
да и дизайн гавно

Sergey
04.06.2018
16:14:16
бля

Artem
04.06.2018
16:14:18
две функции делают разное называются одинаково

Sergey
04.06.2018
16:14:26
пиздец

Artem
04.06.2018
16:14:28
https://golang.org/pkg/time/#After

Sergey
04.06.2018
16:14:47
поплава

DMITRY
04.06.2018
16:15:09
Кстати можно вопрос,при обработке хендлера при http запросе,если внутри хендлера запись в канал,есть вероятность что хендлер может быть отбить запрос?

Daniel
04.06.2018
16:17:37
А?!

Dmitri
04.06.2018
16:17:38
Отбить - это как?

DMITRY
04.06.2018
16:19:51
по таймауту отпасть

Google

Daniel
04.06.2018
16:20:25
На клиентской стороне - да

Dmitri
04.06.2018
16:21:09
Собственно, не вижу препятствий просрать таймаут и без записи в канал
А болтаться он будет, ага
Я так понимаю, от того, что клиент отвалился по таймауту, хендлер магическим способом не самубьется

DMITRY
04.06.2018
16:24:08
тогда еще вопрос если канал читается в отдельной гоурутине, а запись в него идет из основного тела программы(main), если гоурутина которая читает из канала падает то в итоге встанет main?

Dmitri
04.06.2018
16:24:53
Зависит от того, как ты в канал пишешь

DMITRY
04.06.2018
16:25:02
гоуруттина в Бесконечном for {}

Dmitri
04.06.2018
16:25:11
Ты же писать в горутине можешь

DMITRY
04.06.2018
16:25:51
просто вот и подумал,что поидеи и писать тогда надо из гоурутин чтобы колом все не встало

Admin
ERROR: S client not available

DMITRY
04.06.2018
16:26:04
хотя если часть функционала упало,надо ли дальше работать

Artem
04.06.2018
16:26:34
бля я разобрался. Функция создает канал и мы из него читаем и висим пока функция туда не запишет время

Dmitri
04.06.2018
16:27:10
По идее, в блокировке мейна страшного ничего нет. Прога жива, пока жива хоть одна горутина
У тебя же воркер, слушающий канал может быть ресурсоемкий
Если с одного конца в канал валится 10 значений в секунду, а с другой забирается 5, у тебя пишущая рутина встанет колом, пока не освободится читающая
А дальше твоя проблема - решать, нормально ли это, и как исправлять, если не нормально

Kaspar
04.06.2018
16:31:08
БУФЕР В 1024 И НОРМ

DMITRY
04.06.2018
16:31:27
ну да,надо аккуратней с каналами быть

Google

Kirill
04.06.2018
16:31:37

Dmitri
04.06.2018
16:33:10
вопрос в том, что оно будет по прежнему вставать раком, только чуть позже

Человек
04.06.2018
17:40:45
Здравствуйте, не могу понять почему не меняет User-Agent, сунул в цикл повторение 150 раз, генерация должна происходить, тоесть выбираеться рандомно 150 раз рандомнй User-Agent, но почему то повторяется всего лишь 1 раз, тоесть один User-Agent выбран и этот User-Agent будет на протяжении 150 запросов. https://pastebin.com/yi3T2MQa

Crypt
04.06.2018
18:09:23

Subbotin
04.06.2018
19:31:09
а кстати range позволяет съитерироваться по массиву задом наперёд?
как же меня бесит иногда что в гошечке нельзя например сравнить время time1 > time2. только через after

Sergey
04.06.2018
19:34:17

Subbotin
04.06.2018
19:35:26
есть слово на буква G которое нельзя произносить в этом чате, но вот оно самое

Sergey
04.06.2018
19:35:34

Subbotin
04.06.2018
19:36:39
ну типа того

Kirill
04.06.2018
19:36:39

Crypt
04.06.2018
19:36:53

Kaspar
04.06.2018
19:37:02

Subbotin
04.06.2018
19:37:09
Gовно
вторая буква e - и это не Gerpes

Kirill
04.06.2018
19:37:22

Kaspar
04.06.2018
19:37:32
Get the fuck out

Subbotin
04.06.2018
19:41:01
суть сводится к тому чтобы добавить к сравнению структур сравнение больше-меньше. основная проблема в том что если со временем всё понятно, то сравнивать type Vector struct {x int, y int} становится несколько непонятно как

Danil
04.06.2018
19:43:41
Вы тут че
О дженериках
Да будет холивар