HTML 検証は HTML 検証を指します。これは、HTML ドキュメントを分析し、標準の HTML ルールと比較してエラーや非標準コードをマークするプロセスです。 Web ページは HTML を使用して表示され、HTML 自体も HTML 仕様をルールおよび標準として採用しています。複数のブラウザ標準にわたって HTML コードを検証します。
chan
chan はチャネルとも呼ばれ、形式はパイプに似ており、コンテンツは一方の端から送信され、もう一方の端から読み出されます。以下にチャネルを定義する方法を説明します。
var 变量名 chan dataType
チャネルを定義するときは、データ型を指定する必要があります。これは、指定されたデータ型の変数のみがチャネルを通過できることを意味します。
チャネルの初期化
golang でチャネル タイプ変数を初期化する場合、チャネルは 2 つの状況に分けられます。1 つはバッファリングされたチャネル、もう 1 つはバッファリングされていないチャネルです。
次の 2 つの状況における初期化メソッドを紹介します。
// 初始化不带缓冲的通道,通道中数据类型是intvar ch1 = make(chan int)// 初始化带10个缓冲的通道,通道中数据类型是stringvar ch2 = make(chan string,10)
別の記述方法は、チャネルを定義して初期化することです (
// 定义通道,并给通道初始化8个缓冲ch3 := make(chan int ,8)// 定义通道,并初始化为不带缓冲通道ch4 := make(chan string)
チャネル割り当て#)
## チャネルへの読み取りと書き込みの両方がブロッキング状態になる可能性があります。var ch = make(chan string,10)// 将字符串”hello"写入到通道中,通道长度加1ch <- "hello"
チャネルの読み取り
チャネルは空ですアサーションを使用せずにチャネルを読み取る別の方法1. チャネルが閉じられていない場合、プログラムはブロッキング状態に入り、チャネルに情報が書き込まれるまで待機します
2. チャネルはクローズされており、ブロックされません。たとえば、チャネルが chan int の場合、戻り値は 0 になります。文字列の場合、戻り値は空です。
チャンネルは空ではありません
1. チャネルが閉じられていないため、チャネルから情報を一度読み取ります。読み取りが完了したら、実行を続行します。 2. チャネルが閉じられています。読み取りが完了したら、チャネルの読み取り操作に進みます。val,ok := <-chログイン後にコピー
アサーションを使用して、 channel の値は、チャネルにまだコンテンツがあるかどうかを確認し、チャネルに情報がなく、チャネルが閉じられているかどうかを判断します。チャネルが閉じられていない場合、ok 値は false です。しかし、チャネルに情報がない場合、プログラムはブロックします。チャネルにコンテンツがある場合、ok 値は true です。
val := <-ch
チャネルの書き込みと読み取り
バッファリングされていないチャネルのサンプルの読み取り方法:package mainimport ( "fmt")func main() { // 定义一个不带缓冲的通道,通道中数据类型是int var c = make(chan int) // 开启一个携程,读取通道中的内容 go func() { fmt.Println("写入信息是:", <-c) }() // 向通道中写入数据 c <- 1}
写入信息是: 1
package mainimport ( "fmt")func main() { var c = make(chan int, 3) c <- 1 c <- 2 c <- 3 //c <- 4 fmt.Println("end") }
end
コルーチン通信
次のコード例に示すように、チャネル タイプ変数は基本的にアドレスです。package mainimport ( "fmt")func main() { var c = make(chan int, 3) fmt.Println(c) }
0xc042072080
package mainimport ( "fmt" "time")func main() { var c = make(chan int) go func() { fmt.Println("待命模式:") // 读取通道时产生阻塞,等待其他协程向通道写入信息 fmt.Println("命令代码是:", <-c) }() go func() { // 延时3秒,向通道中写入信息 time.Sleep(time.Second * 3) fmt.Println("发送命令:") c <- 8 close(c) }() time.Sleep(time.Second * 5) fmt.Println("执行完成") }
待命模式: 发送命令: 命令代码是: 8 执行完成
HTML validate HTML validation_HTML /Xhtml_Webページ制作
以上が囲碁要素のキーワードが見つかる - ちゃんチャンネルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。