golang交替輸出字串

2021-10-03 05:37:32 字數 696 閱讀 9874

朋友問了一道使用通道來實現「多執行緒」通訊的golang題,我看了下,還比較簡單。

但由於這個對理解golang之間利用通道通訊有一定的幫助,所以寫下如下**,發出來給大家看看。

思路簡要:

最開始需要用乙個帶快取的通道來觸發開始操作,否則會引起死鎖。然後用兩個通道不斷的交替進行接收與傳送

package main

/**用三個執行緒,交替輸出abc,abc,abc...

*/import

("fmt"

"time"

)func

printc

(c1 chan

bool

, c2 chan

bool

, s string)}

func

main()

()// 開始觸發通道 c1

c1 <-

true

// 為了簡單表示,這裡只列印5次

forrange

make([

]struct,5

)}

在通道的接收傳送中,我們需要理解一點通道的底層實現原理,那就是接收操作一定會在傳送操作完成前完成,所以不要擔心不會列印。通用一點,就是第k個接收操作一定會在第k+c個傳送操作完成之前完成。c是通道緩衝大小。

輸出字串

5.連線字串 半形句號 是字串連線符,可以把兩個字串連線成乙個字串。例如7 5 echo str.url 技巧 我們可以使用字串連線符累加字串。例如7 6 第一句我們給 str賦值,str表示字串 php中文社群位址是 第二句表示在 str的值上累加字串 www.phpnet.cn 所以,str最後...

輸出字串Count and Say

最近研究輸出字串,稍微總結一下,以後繼續補充 標題如下 the count and say sequence is the sequence of integers beginning as follows 1,11,21,1211,111221,1is read off as one 1 or11...

倒序輸出字串

public static void main string args system.out.println result public static string revertstring string str char chars str.tochararray int len chars.le...