小编Dev*_*vin的帖子

如何将方法用作goroutine函数

我有这个代码.我希望输出:

hello : 1 
world : 2
Run Code Online (Sandbox Code Playgroud)

但它输出:

world : 2
world : 2
Run Code Online (Sandbox Code Playgroud)

我的代码有问题吗?

package main

import (
    "fmt"
    "time"
)

type Task struct {
    name string
    data int32
}

func (this *Task) PrintData() {
    fmt.Println(this.name, ":", this.data)
}

func main() {
    tasks := []Task{{"hello", 1}, {"world", 2}}
    for _, task := range tasks {
        go task.PrintData()
    }
    time.Sleep(time.Second * 5000)
}
Run Code Online (Sandbox Code Playgroud)

go goroutine

2
推荐指数
1
解决办法
2422
查看次数

标签 统计

go ×1

goroutine ×1