- Программа читает из stdin строки, содержащие URL.
- На каждый URL нужно отправить HTTP-запрос методом GET.
- Посчитать количество вхождений строки "Go" в теле ответа.
- В конце работы приложение выводит на экран общее количество найденных строк "Go" в каждом переданном URL:
$ echo -e 'https://golang.org\nhttps://golang.org' | go run main.go
Count for https://golang.org: 9
Count for https://golang.org: 9
Total: 18
- Каждый URL обрабатывается сразу после считывания и параллельно со считыванием следующего.
- URL обрабатываются параллельно, но не более
k
одновременно. Обработчики URL не должны порождать лишних горутин, т.е. еслиk=5
, а обрабатываемых URL-ов всего 2, не должно создаваться 5 горутин.
Нужно обойтись без глобальных переменных и использовать только стандартную библиотеку.