Како користити Селецт Статемент у Голангу?

Kako Koristiti Select Statement U Golangu



А изаберите изјаву ин Голанг омогућава програмерима да синхронизују и комуницирају између Го рутина, канала и токова података. Омогућава Го програму да чека на више каналних операција одједном и изврши прву операцију која је спремна.

У овом чланку ћемо истражити како га користити изаберите изјаву на Голанг-у и пружите примере који ће вам помоћи да постигнете паралелизам, конкурентност и синхронизацију у Го програмима.

Како користити Селецт Статемент у Голангу?

Слично наредби свитцх, тхе изаберите изјаву дозвољава нам да изаберемо и извршимо један израз међу многим изразима, али примарна разлика између изаберите а прекидач је то изаберите изјаву функционише на принципу чекања, што значи да се изаберите изјаву неће се извршити док се комуникација не заврши.







Овде се комуникација односи на слање и примање података преко било ког канала. Када је комуникација завршена, врши се следећа провера, омогућавајући нам да видимо да изјава за избор Го језика у потпуности зависи од канала.



Синтакса за Селецт Статемент

Једноставна синтакса која се користи за изаберите изјаву коришћење Го језика је приказано у наставку:



изаберите {
случај канал_1 :
// код за извршавање када је канал_1 спреман
случај канал_2 :
// код за извршавање када канал_2 буде спреман
случај канал_3 :
// код за извршење када канал_3 буде спреман
случај канал_4 :
// код за извршавање када је канал_4 спреман
Уобичајено :
// код за извршење ако ниједан канал није спреман
}

овде:





  • У оквиру а изаберите изјаву , сваки случај представља операцију канала, која може бити операција пријема или операција слања.
  • Тхе изаберите изјаву чека док један од случајева не буде спреман, а затим га покреће и придружени исказ случаја.
  • Насумично бира канал у случају да постоји више канала спремних за извршење.

Како направити канал у Голангу

Да би креирали канал у Го-у, корисници могу да користе функцију маке коју прати цхан кључну реч и наведите тип канала, који може бити инт, стринг или други.

гл := направити ( чан тип )

Имплементирајте Селецт Статемент у Голанг

Овде ћемо дати неколико примера који ће вам помоћи да научите основе коришћења изаберите изјаву у Голангу.



Пример 1

Следећи пример за изаберите изјаву показује како функционише када су оба канала спремна за извршење.

пакет главни

увоз 'фмт'

фунц маин ( ) {

на једном := направити ( цхан инт )

стр := направити ( цхан стринг )

го цхан_нум ( на једном )

го цхан_стр ( стр )

изаберите {

случај Цх1 := <- на једном :

фмт. Принтлн ( „Подаци о каналу:“ , Цх1 )

случај Цх2 := <- стр :

фмт. Принтлн ( „Подаци о каналу:“ , Цх2 )

}

}

фунц цхан_нум ( нум цхан инт ) {

на једном <- 67

}

фунц цхан_стр ( стр цхан стринг ) {

стр <- 'Линукс'

}

У горњем примеру, направили смо два канала, на једном, и стр и користили смо функције Го цхан_нум() за слање података на број канала и цхан_стр() за слање података на стр канал. Пошто програм садржи два различита канала, користили смо изаберите изјаву да изврши један од њих.

Случај Цх1 чита вредност из број канала и приказује га. Слично, случај Цх2 враћа вредност из стр канал. Горњи програм враћа излаз канала који је спреман за употребу. Излаз

Пример 2

Ако желите да додате кашњење на канал и вратите излаз другог канала, можете користити тиме.слееп() функција на одређеном каналу. Ово вам омогућава да одштампате излаз другог канала на конзолу. Ево примера таквог случаја.

пакет главни

увоз (

'фмт'

'време'

)

фунц маин ( ) {

на једном := направити ( цхан инт )

стр := направити ( цхан стринг )

го цхан_нум ( на једном )

го цхан_стр ( стр )

изаберите {

случај Цх1 := <- на једном :

фмт. Принтлн ( „Подаци о каналу:“ , Цх1 )

случај Цх2 := <- стр :

фмт. Принтлн ( „Подаци о каналу:“ , Цх2 )

}

}

фунц цхан_нум ( нум цхан инт ) {

на једном <- 67

}

фунц цхан_стр ( стр цхан стринг ) {

време . Спавај ( 5 * време . Друго )

стр <- 'Линукс'

}

У горе наведеном коду користили смо тиме.Слееп() функција унутар цхан_стр() функција. Само нум канал је спреман за извршење првих 5 секунди. Као резултат тога, изаберите изјаву покреће случај Цх1 .

Излаз

Белешка: Можете додати кашњење на оба канала да бисте одложили извршавање канала.

Закључак

Тхе изаберите изјаву ин Го омогућава избор и извршење једног израза од многих израза користећи принцип чекања, где се наредба неће извршити док се комуникација не заврши. Горе наведене смернице укључују изаберите изјаву основна синтакса и примери.