Latest web development tutorials

Vai lingua select

Vai lingua istruzioni condizionali Vai lingua istruzioni condizionali

selezionare Go è una struttura di controllo in una dichiarazione simile per l'interruttore di comunicare. Ogni caso deve essere un'operazione di comunicazione, sia invio o la ricezione.

selezionare un'esecuzione caso a caso può essere eseguito. Se non c'è nessun caso eseguire, esso viene bloccato finché il caso può essere eseguito. Una clausola di default dovrebbe sempre essere in esecuzione.

grammatica

Vai Programmazione Sintassi lingua select è la seguente:

select {
    case communication clause  :
       statement(s);      
    case communication clause  :
       statement(s); 
    /* 你可以定义任意数量的 case */
    default : /* 可选 */
       statement(s);
}

Di seguito viene descritta la sintassi della dichiarazione prescelta:

  • Ogni caso deve essere una comunicazione
  • Tutti espressione canale verrà valutata
  • Tutte le espressioni saranno inviati da valutare
  • Se una comunicazione può essere qualsiasi, esegue, altri vengono ignorati.
  • Se più di un caso può essere eseguito, Selezione selezionerà casualmente una equa. Altro non essere eseguito.
    altrimenti:
    1. Se non c'è la clausola di default, viene eseguita l'istruzione.
    2. Se non c'è la clausola di default, selezionare il blocco fino a quando una comunicazione può essere eseguito; Vai al canale o meno il valore rivalutato.

Esempi

package main

import "fmt"

func main() {
   var c1, c2, c3 chan int
   var i1, i2 int
   select {
      case i1 = <-c1:
         fmt.Printf("received ", i1, " from c1\n")
      case c2 <- i2:
         fmt.Printf("sent ", i2, " to c2\n")
      case i3, ok := (<-c3):  // same as: i3, ok := <-c3
         if ok {
            fmt.Printf("received ", i3, " from c3\n")
         } else {
            fmt.Printf("c3 is closed\n")
         }
      default:
         fmt.Printf("no communication\n")
   }    
}

Il codice precedente viene eseguito come risultato di:

no communication

Vai lingua istruzioni condizionali Vai lingua istruzioni condizionali