Without goroutine
Regular functions calls are executed sequentially. Each call can only start after all the previous calls have finished.
examples/without-goroutine/without_goroutine.go
package main import ( "fmt" "time" ) func count(n int, name string) { for i := 0; i < n; i++ { fmt.Printf("%s %d\n", name, i) time.Sleep(1000) } } func main() { fmt.Println("Welcome") count(3, "first") count(3, "second") count(3, "third") count(3, "fourth") fmt.Println("Done") }
Welcome first 0 first 1 first 2 second 0 second 1 second 2 third 0 third 1 third 2 fourth 0 fourth 1 fourth 2 Done