教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang goroutine顺序输出

golang goroutine顺序输出

发布时间:2022-03-26   编辑:jiaochengji.com
教程集为您提供golang goroutine顺序输出等资源,欢迎您收藏本站,我们将为您提供最新的golang goroutine顺序输出资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg><h1 id="golang-goroutine顺序输出">golang goroutine顺序输出</h1>

range字符串,使用goroutine打印,因为goroutine随机执行

<pre class="prettyprint"><code class=" hljs go"><span class="hljs-keyword">for</span> _, v := <span class="hljs-keyword">range</span> str { <span class="hljs-keyword">go</span> <span class="hljs-keyword">func</span>() { fmt.Println(<span class="hljs-typename">string</span>(v)) }() }</code></pre>

输出:

<pre class="prettyprint"><code class=" hljs ">5 5 5 5 5</code></pre>

可以使用chan顺序输出

<pre class="prettyprint"><code class=" hljs go"> <span class="hljs-keyword">for</span> _, c := <span class="hljs-keyword">range</span> str{ ch := <span class="hljs-built_in">make</span>(<span class="hljs-keyword">chan</span> <span class="hljs-typename">rune</span>) <span class="hljs-keyword">go</span> <span class="hljs-keyword">func</span>(ch <-<span class="hljs-keyword">chan</span> <span class="hljs-typename">rune</span>) { key := <-ch fmt.Println(<span class="hljs-typename">string</span>(key)) }(ch) ch <- c }</code></pre>

输出:

<pre class="prettyprint"><code class=" hljs ">1 2 3 4 5</code></pre> 到此这篇关于“golang goroutine顺序输出”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
Golang并发编程中控制主goroutine退出实现的例子
golang中类型比较和类型赋值说明
php和golang怎么配合
golang会取代php吗
php和go哪个适合新人
golang和python有什么区别?
golang log简单使用例子详解
golang标准库reflect包实现操作任意类型对象
go语言和php的区别是什么?
解决php中flush()不能按顺序输出的问题

[关闭]
~ ~