多线程运行时,该如何共享使用一个数组

Mieiu · · 1149 次点击
今天解决了,按照2位的提供的代码思路,我稍微修改下,目前可以了,非常感谢:blush:
#3
更多评论
![image.png](https://static.studygolang.com/220120/a3914b17b19e1a17ad45029e7bfcd388.png) 如果可以加个context 让协程退出 ,如果main函数不退出的情况下
#1
1 楼的代码可能有点问题,无缓冲区,可能会导致最后一条数据没来得及打印就退出。 楼主可以写的更简单一点,如下: ``` type Info struct { Name string Password string } func main() { userc := []string{"13362011111", "13362022222", "13362033333", "13362444444"} passc := []string{"123456", "000000"} limitChan := make(chan Info, 0) go func() { for _, user := range userc { for _, pass := range passc { limitChan <- Info{ Name: user, Password: pass, } } } close(limitChan) }() for v := range limitChan { fmt.Printf("%v,%v\n", v.Name, v.Password) } } ```
#2