package main
import (
"fmt"
"os"
"time"
)
func add(a, b float64) float64 {
return a + b
}
func pause(sec int) {
for i := 0; i <= sec; i++ {
fmt.Println(" tic tic ", i)
time.Sleep(time.Second / 4)
}
}
func onetoten() {
for i := 1; i <= 10; i++ {
fmt.Print(" ", i)
time.Sleep(time.Second / 4)
}
}
func backg(msg chan string) {
for {
// wait for order from main func
fmt.Println("print from inside backg goroutine: ", <-msg)
// got the message now do something
onetoten()
pause(5)
}
//fmt.Println("The End!")
}
func main() {
//fmt.Println(add(2, 3))
//go pause(5)
var mystring string
mychannel := make(chan string, 5)
defer close(mychannel)
mychannel <- "Initial value for channel"
go backg(mychannel)
for {
fmt.Println("\r\n Enter Text:")
fmt.Scanln(&mystring)
fmt.Printf("%s", mystring)
mychannel <- mystring
if mystring == "q" {
os.Exit(0)
}
}
}