package main import ( "fmt" ) func work() { fmt.Println("Tt's function work") } func main() { done := make(chan struct{}) go func(d chan struct{}) { work() close(d) }(done) <-done fmt.Println("Function main() was finished") }