Size: a a a

2020 February 26

DP

Daniel Podolsky in Go-go!
вопрос не ясен
источник

АП

Александр Попов in Go-go!
подольский написал бота?
источник

К🇦

Коала 🇦🇺 in Go-go!
Daniel Podolsky
вопрос не ясен
var Wrk int  = 20
Ch := make(chan string, Wrkr)
for v := 0; v < 10; v++ {
Ch -> strconv.Itoa(v)
     fmt.Println("      " + <-Ch)
   }
источник

M

Meow in Go-go!
if strings.LastIndex(message.Text, "?") == len(message.Text) - 1 {
   tg.SendMessage("@gogolang", "вопрос не ясен")
}
источник

а

а кто это in Go-go!
Meow
if strings.LastIndex(message.Text, "?") == len(message.Text) - 1 {
   tg.SendMessage("@gogolang", "вопрос не ясен")
}
а это сообщение сработает?
источник

АП

Александр Попов in Go-go!
а кто это
а это сообщение сработает?
вопрос не ясен
источник

M

Meow in Go-go!
Хз, надо как-то реверс инжинирить 😂
источник

АП

Александр Попов in Go-go!
Коала 🇦🇺
Здравствуйте. У меня есть буферизованный канал, я пишу в него данные которые приходят из горутин которые запускаются в циклах порциями, и в последней порции может быть количество горутин меньше емкости канала. Чтение идет в цикле по емкости канала, соответственно идет ожидание появления записи в канале, как избежать этой блокировки?
если у тебя "воркеры" не успевают, все будут складироваться в канала пока есть место, потом будет блокировка
источник

АП

Александр Попов in Go-go!
вопрос как я понял - как избежать блокировку?
источник

DP

Daniel Podolsky in Go-go!
Коала 🇦🇺
var Wrk int  = 20
Ch := make(chan string, Wrkr)
for v := 0; v < 10; v++ {
Ch -> strconv.Itoa(v)
     fmt.Println("      " + <-Ch)
   }
так надо закрыть канал, когда в нем данные закончатся
источник

К🇦

Коала 🇦🇺 in Go-go!
Александр Попов
если у тебя "воркеры" не успевают, все будут складироваться в канала пока есть место, потом будет блокировка
нет, воркеры кончились, в канале нет записей и произходит блокировка при чтении
источник

АП

Александр Попов in Go-go!
а кто читает то?
источник

К🇦

Коала 🇦🇺 in Go-go!
Александр Попов
а кто читает то?
цикл
источник

DP

Daniel Podolsky in Go-go!
еще можно читать в select с default

как только в канале не будет данных - сработает секция default
источник

К🇦

Коала 🇦🇺 in Go-go!
Daniel Podolsky
еще можно читать в select с default

как только в канале не будет данных - сработает секция default
щас гуглану
источник

К🇦

Коала 🇦🇺 in Go-go!
Daniel Podolsky
еще можно читать в select с default

как только в канале не будет данных - сработает секция default
Так?
for v := 0; v < Wrkr; v++ {

     select {
     case msg :=<-Ch:        
       fmt.Println(msg)
     default:
       fmt.Println("no message received")
       return
     }


   }
источник

DP

Daniel Podolsky in Go-go!
ага
источник

DP

Daniel Podolsky in Go-go!
то нет так
источник

ВС

Владимир Столяров in Go-go!
почти, тут идет два раза считывание из канала, надо в case первом писать вот так case v := <-Ch
источник

DP

Daniel Podolsky in Go-go!
в этом цикле два чтения, результат первого теряется
источник