From 27dda5f2b6ecb4035096b2a0d657e7f775c84c31 Mon Sep 17 00:00:00 2001 From: Sangeeth Sudheer Date: Sat, 27 Apr 2024 15:14:51 +0530 Subject: [PATCH] Add Goroutines --- channels/channels.go | 0 goroutines/goroutines.go | 26 ++++++++++++++++++++++++++ main.go | 6 ++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 channels/channels.go create mode 100644 goroutines/goroutines.go 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() }