Latest web development tutorials

Idź język SELECT

Idź język instrukcji warunkowych Idź język instrukcji warunkowych

wybierz Go to struktura sterowania w podobnym oświadczeniu dla przełącznika do komunikowania się. Każdy przypadek musi być operacja komunikacji, albo wysyłanie lub odbieranie.

wybrać losowo wykonanie przypadku można uruchomić. Jeśli nie ma żadnego przypadku do pracy, będzie ona zablokowana, dopóki mogą być uruchamiane w tym przypadku. Domyślny klauzula powinna być zawsze uruchomione.

gramatyka

Idź programowania składni języka SELECT przedstawia się następująco:

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

Poniżej znajduje się opis składni SELECT:

  • Każdy przypadek musi być komunikacja
  • Wszystko wyraz kanał zostanie oceniona
  • Wszystkie wyrażenia zostanie wysłany do oceny
  • Jeśli komunikat może być dowolny, wykonuje go, a inne są ignorowane.
  • Jeżeli więcej niż jeden przypadek można uruchomić, wybierz losowo wybrać uczciwą realizację. Inny nie może być wykonana.
    W przeciwnym razie:
    1. Jeśli nie ma domyślnej klauzuli, instrukcja zostanie wykonana.
    2. Jeśli nie ma domyślną klauzulę wybierz grupowego do komunikatu może uruchomić; Przejdź do kanału, czy nie ponownej ocenie wartości.

Przykłady

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")
   }    
}

Powyższy kod jest wykonywany w wyniku:

no communication

Idź język instrukcji warunkowych Idź język instrukcji warunkowych