golang支持并发,只需要通过go关键字来开启goroutine即可
    goroutine是轻量级线程,goroutine的调度是由golang运行时管理的
    goroutine语法格式

    1. go 函数名(参数列表)

    例如

    1. go f(x, y, z)

    开启一个新的goroutine

    1. f(x, y, z)

    go允许使用go语句开启新的运行期线程,即goroutine,以一个不同的、新创建的goroutine来执行一个函数。
    同一个程序中的所有goroutine共享同一个地址空间
    实例

    1. package main
    2. improt (
    3. "fmt"
    4. "time"
    5. )
    6. func say(s string) {
    7. for i := 0;i < 5; i++ {
    8. time.Sleep(100 * time.Millisecond)
    9. fmt.Println(s)
    10. }
    11. }
    12. func main() {
    13. go say("world")
    14. say("hello")
    15. }

    执行以上代码,会看到输出的hello和world是没有固定先后顺序,因为它们是两个goroutine在执行