golang中的select關鍵字用法總結

2022-09-24 11:00:11 字數 636 閱讀 1920

1.官方解釋

乙個select語句用來選擇哪個case中的傳送或接收操作可以被立即執行。它類似於switch語句,但是它的case涉及到channel有關的i/o操作。即select就是用來監聽和channel有關的io操作,當 io 操作發生時,觸發相應的動作。

2.要點

如果有乙個或多個io操作可以完成,則go執行時系統會隨機的選擇乙個執行,否則的話,如果有default分支,則執行default分支語句,如果連default都沒有,則select語句會一直阻塞,直到至少有乙個io操作可以進行

所有channel表示式都會被求值、所有被傳送的表示式都會被求值。求值順序:自上而下、從左到右.

3.用法

1.使用 select 實現 timeout 機制

timeout :www.cppcns.com= make (chan bool, 1)程式設計客棧

go func()

以下描述 select 語句的語法

示例package main

import "fmt"

func fibonacci(c, quit chan int) {

x, y := 0, 1

for {

select {

case c

總結

Golang中的select應該怎麼用

1.什麼是select select就是用來監聽和channel有關的io操作,當 io 操作發生時,觸發相應的動作。2.基本用法 select如果有乙個,或者多個io操作可以完成,則golang執行時會隨機選擇乙個執行,否則的話會執行default分支語句,如果沒有定義default的話會一直阻塞...

Golang併發程式設計中select簡單了解

select可以監聽channel的資料流動 select的用法與switch語法非常類似,由select開始的乙個新的選擇塊,每個選擇條件由case語句來描述 與switch語句可以選擇任何使用相等比較的條件相比,select由比較多的限制,其中最大的一條限制就是每個case語句裡必須是乙個io操...

golang的select實現原理剖析

select為golang提供了多路io復用機制,和其他io復用一樣,用於檢測是否有讀寫事件是否ready。本文將介紹一下golang的select的用法和實現原理。golang實現select的時候,實際上為每乙個case語句定義了乙個資料結構,select語句塊執行的時候,實際上可以模擬成對乙個...