猫の兄に従ってGolang 16-Chanelを学びます.
1355 ワード
goroutineとchanelはGolangであり、「生まれつきの合併」と呼ばれる二つの核心的な原因です.
チャンネルはgoroutine間で通信する方法の一つです.Unixのパイプライン機能と非常に似ています.
猫兄さんが言いました.データ構造の中の列です.先に出ます.
チャンネル宣言:
次に、goroutineでスレッドを開いて、チャンネルに内容を詰め込む.
そして、プリントアウトします.(実は直接fmt.Println(
最後に、makeと定義していますので、goroutine方式で値を付けなければなりません.後はなぜですか?
=============華やかな分割線==========================================================================
上記の例は最も簡単で乱暴なチャンネルです.直腸子は内容を保存できません.実際のチャンネルは、やはり「中身」があります.もちろん、ITの行話は、これを「バッファ」といいます.
「中身」があるチャンネルを再定義します.
これで操作が簡単になりました.栗をもう一つお願いします.
チャンネルを定義するときは、キャッシュサイズを書かない、またはキャッシュ数を「0」と書いてもキャッシュレスを表します.
緩衝の区別がありますか?生活の中で速達を受け取る状況を比べてみます.
宅配便が届きました
1)郵便配達員はずっとあなたを待っていますが、来ないなら行かないです.
2)郵便配達員はあなたがいなくても、宅配便の小包を受付に置いて、人は出発します.次の書類に急いで行きました.これはキャッシュがあります.
goroutineとchanelはGolangであり、「生まれつきの合併」と呼ばれる二つの核心的な原因です.
チャンネルはgoroutine間で通信する方法の一つです.Unixのパイプライン機能と非常に似ています.
猫兄さんが言いました.データ構造の中の列です.先に出ます.
チャンネル宣言:
ChannelType = ( "chan" | "chan" "
チャンネルはタイプに関連しています.つまり、一つのチャンネルは一つのタイプしか伝えられません.たとえば:var ch chan int #ch int。
くりを一つあげる:package main
import "fmt"
func justequal(a int, c chan int) {
c
まず、一つのチャンネルを定義します.次に、goroutineでスレッドを開いて、チャンネルに内容を詰め込む.
そして、プリントアウトします.(実は直接fmt.Println(
最後に、makeと定義していますので、goroutine方式で値を付けなければなりません.後はなぜですか?
=============華やかな分割線==========================================================================
上記の例は最も簡単で乱暴なチャンネルです.直腸子は内容を保存できません.実際のチャンネルは、やはり「中身」があります.もちろん、ITの行話は、これを「バッファ」といいます.
「中身」があるチャンネルを再定義します.
ch := make(chan int, 10)
LOOK~中身は本当にあります.10ネタあります.これで操作が簡単になりました.栗をもう一つお願いします.
package main
import "fmt"
func main() {
c := make(chan int,10)
c
:
100 200 300
よく分かりますか?先に出してください.チャンネルを定義するときは、キャッシュサイズを書かない、またはキャッシュ数を「0」と書いてもキャッシュレスを表します.
緩衝の区別がありますか?生活の中で速達を受け取る状況を比べてみます.
宅配便が届きました
1)郵便配達員はずっとあなたを待っていますが、来ないなら行かないです.
2)郵便配達員はあなたがいなくても、宅配便の小包を受付に置いて、人は出発します.次の書類に急いで行きました.これはキャッシュがあります.