diff --git a/channels/channels.go b/channels/channels.go new file mode 100644 index 0000000..e69de29 diff --git a/goroutines/goroutines.go b/goroutines/goroutines.go new file mode 100644 index 0000000..45a6254 --- /dev/null +++ b/goroutines/goroutines.go @@ -0,0 +1,26 @@ +package goroutines + +import ( + "fmt" + "time" +) + +func print1To20(label string) { + for i := range 20 { + fmt.Printf("%s:%d\n", label, i+1) + } +} + +func Goroutines() { + print1To20("Synchronous") + + go print1To20("Goroutine 1") + + go func(label string) { + print1To20(label) + }("Goroutine 2") + + fmt.Println("Crudely waiting for 2 seconds") + time.Sleep(2 * time.Second) + fmt.Println("Done") +} diff --git a/main.go b/main.go index 721bdd6..53a23ca 100644 --- a/main.go +++ b/main.go @@ -3,11 +3,13 @@ package main // import "git.sangeeth.dev/gobyexample/runes" // import "git.sangeeth.dev/gobyexample/structs" // import "git.sangeeth.dev/gobyexample/generics" -import "git.sangeeth.dev/gobyexample/errors" +// import "git.sangeeth.dev/gobyexample/errors" +import "git.sangeeth.dev/gobyexample/goroutines" func main() { // runes.Runes() // structs.Structs() // generics.Generics() - errors.Errors() + // errors.Errors() + goroutines.Goroutines() }