package mainimport ( "fmt" "time")//从goroutinefunc newTask() { i:=0 for { i++ fmt.Printf("task %d\n",i) time.Sleep(1 * time.Second) }}//主goroutinefunc main() { //创建一个go线程,去执行newTask() go newTask() i:=0 for { i++ fmt.Printf("main %d\n",i) time.Sleep(1 * time.Second) }}
package mainimport ( "fmt" "time")//从goroutinefunc newTask() { i:=0 for { i++ fmt.Printf("task %d\n",i) time.Sleep(1 * time.Second) }}//主goroutinefunc main() { //创建一个go线程,去执行newTask() go newTask() fmt.Println("main exit")}
package mainimport ( "fmt" "time")func main() { //go创建一个形参为空,返回值为空的一个函数 go func() { defer fmt.Println("defer") func(){ defer fmt.Println("inner defer") fmt.Println("B") }() fmt.Println("A") }() //死循环 for { time.Sleep(1 * time.Second) }}
package mainimport ( "fmt" "runtime" "time")func main() { //go创建一个形参为空,返回值为空的一个函数 go func() { defer fmt.Println("defer") func(){ defer fmt.Println("inner defer") //退出当前goroutine runtime.Goexit() fmt.Println("B") }() fmt.Println("A") }() //死循环 for { time.Sleep(1 * time.Second) }}
package mainimport ( "fmt" "time")func main() { //goroutine go func(a int,b int) bool { fmt.Println(a,b) return true }(10,20) //死循环 for { time.Sleep(1 * time.Second) }}