package main
import (
"fmt"
"time"
)
//从goroutine
func newTask() {
i:=0
for {
i++
fmt.Printf("task %d\n",i)
time.Sleep(1 * time.Second)
}
}
//主goroutine
func main() {
//创建一个go线程,去执行newTask()
go newTask()
i:=0
for {
i++
fmt.Printf("main %d\n",i)
time.Sleep(1 * time.Second)
}
}
package main
import (
"fmt"
"time"
)
//从goroutine
func newTask() {
i:=0
for {
i++
fmt.Printf("task %d\n",i)
time.Sleep(1 * time.Second)
}
}
//主goroutine
func main() {
//创建一个go线程,去执行newTask()
go newTask()
fmt.Println("main exit")
}
package main
import (
"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 main
import (
"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 main
import (
"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)
}
}