A handy command-line utility
In this section, we will develop a handy command-line utility that reads a number of web pages, which can be found in a text file or read from standard input, and returns the number of times a given keyword was found in these web pages. In order to be faster, the utility will use goroutines to get the desired data and a monitoring process to gather the data and present it on the screen. The name of the utility will be findKeyword.go and will be presented in five parts.
The first part of the utility is the following:
package main
import (
"bufio"
"fmt"
"net/http"
"net/url"
"os"
"regexp"
)
type Data struct {
URL string
Keyword string
Times int
Error error
} The Data struct type will be used for passing information between channels.
The second part of findKeyword.go has the following Go code:
func monitor(values <-chan Data, count int) {
fori := 0; i< count; i++ {
x := <-values
...