package mainimport ( "fmt" "math/rand" "time")var ( Web = fakeSearch("web") Image = fakeSearch("image") Video = fakeSearch("video"))type Result stringtype Search func(query string) Resultfunc fakeSearch(kind string) Search { return func(query string) Result { time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond) return Result(fmt.Sprintf("%s result for %q\n", kind, query)) }}func Google(query string) (results []Result) { results = append(results, Web(query)) results = append(results, Image(query)) results = append(results, Video(query)) return}