Separate goroutines exercise into different files

Also went ahead and added a way to interactively select which function
to execute so I can easily execute each file individually, I still have
to learn channels and passing data through these channels but I don't
want old code possibly bothering me
This commit is contained in:
raul 2024-03-02 10:00:45 +01:00
parent a4667e2039
commit a89ca3987b
2 changed files with 43 additions and 26 deletions

30
golangr/goroutines/1.go Normal file
View File

@ -0,0 +1,30 @@
package main
import (
"fmt"
"os"
"time"
)
func bgChecker() {
for {
if check == true {
fmt.Println("Check has been set to true, quitting")
os.Exit(0)
}
time.Sleep(time.Second)
}
}
func fun1() {
go bgChecker()
for {
fmt.Printf("Would you like to set the check to true? [y/n] ")
fmt.Scanln(&choice)
if choice == "y" {
check = true
} else {
fmt.Println("Too bad")
}
}
}

View File

@ -2,39 +2,26 @@ package main
import (
"fmt"
"os"
"time"
)
var check bool = false
var choice string
// func printText(s string) {
// for i := 0; i < 10; i++ {
// time.Sleep(time.Millisecond * 50)
// fmt.Println(s)
// }
// }
func bgChecker() {
for {
if check == true {
fmt.Println("WOOOOOOOOOOOO")
os.Exit(0)
}
time.Sleep(time.Second)
}
}
func main() {
go bgChecker()
var numChoice int
for {
fmt.Printf("Would you like to set the check to true? [y/n] ")
fmt.Scanln(&choice)
if choice == "y" {
check = true
} else {
fmt.Println("Too bad")
fmt.Printf("[1] Basic concurrency\n")
fmt.Printf("\rChoose your function: ")
fmt.Scanln(&numChoice)
switch numChoice {
case 1:
fun1()
default:
fmt.Printf("Choose an actual function, please\n")
}
}
}