How can I distribute functions for calling http requests in parallel?
package main import ( "fmt" "net/http" ) func foo() { for i := 0; i < 10; i++ { b, err := http.Get("http://golang.org") if err != nil { fmt.Println("Error") } else { fmt.Println(b.Header) fmt.Println(b.StatusCode) } } } func foo1() { for i := 0; i < 10; i++ { b, err := http.Get("http://golang.org") if err != nil { fmt.Println("Error") } else { fmt.Println(b.Header) fmt.Println(b.StatusCode) } } } func foo2() { for i := 0; i < 10; i++ { b, err := http.Get("http://golang.org") if err != nil { fmt.Println("Error") } else { fmt.Println(b.Header) fmt.Println(b.StatusCode) } } } func main() { foo(); foo1(); foo2(); fmt.Println("Ok") } Everything is done slowly and alternately. I tried through the gorutines go foo1 (); go foo2 () doesn't work either. What to do?