好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

实例详解关于Golang中for-loop与goroutine

这篇文章主要给大家介绍了关于Golang中for-loop与goroutine问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用golang具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

 for i := 0; i < len(rf.peers); i++ {
  DPrintf("i = %d", i)

  if i == rf.me {
   DPrintf("skipping myself #%d", rf.me)
   continue
  }

  go func() {
   DPrintf("len of rf.peers = %d", len(rf.peers))
   DPrintf("server #%d sending request vote to server %d", rf.me, i)
   reply := &RequestVoteReply{}
   ok := rf.sendRequestVote(i, args, reply)
   if ok && reply.VoteGranted && reply.Term == rf.currentTerm {
    rf.voteCount++
    if rf.voteCount > len(rf.peers)/2 {
     rf.winElectionCh <- true
    }
   }
  }()
} 
 for val := range values {
 go val.MyMethod()
} 
 for val := range values {
 go func() {
  fmt.Println(val)
 }()
} 
 for val := range values {
 go func(val interface{}) {
  fmt.Println(val)
 }(val)
} 
 for i := range valslice {
 val := valslice[i]
 go func() {
  fmt.Println(val)
 }()
} 
 server := i 

总结

以上就是实例详解关于Golang中for-loop与goroutine的详细内容,更多请关注Gxl网其它相关文章!

查看更多关于实例详解关于Golang中for-loop与goroutine的详细内容...

  阅读:40次