Шарттуу конструкциялар белгилүү бир шарттын чындыгын текшерет жана текшерүүнүн жыйынтыгына жараша программанын жүрүшүн жолдордун бири боюнча багыттоого мүмкүндүк берет.
if конструкциясы шартты кабыл алат - bool маанисин кайтарган туюнтма . Ал эми бул шарт чын болсо, анда инструкциялардын кийинки блогу аткарылат.
1 2 3 4 5 6 7 8 9 10 11 |
|
Шарт if операторунан кийин коюлат. Бул учурда а өзгөрмөнүн мааниси б өзгөрмөнүн маанисинен аз экендиги текшерилет. Бул учурда a өзгөрмөнүн мааниси b өзгөрмөнүн маанисинен чындап аз болгондуктан, башкача айтканда, шарт чындыкты кайтарат, анда консолго билдирүү басып чыгарган коддун кийинки блогу аткарылат.
Эгерде шарт туура эмес болсо, аткарылуучу альтернативдик логиканы көрсөтүү зарыл болсо, анда else оператору кошулат:
1 2 3 4 5 6 7 8 9 10 1 12 13 |
|
Ошентип, if операторунан кийинки шарттуу туюнтма чын болсо, анда if операторунан кийинки блок, эгер ал жалган болсо, elseдон кийинки блок аткарылат.
Эгер бир нече альтернативаларды текшерүү керек болсо, анда else if билдирүүлөрүн кошо аласыз :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Ошентип, эгерде ifден кийинки туюнтма чын болсо, анда if блогу аткарылат. Болбосо, else if белгисинен кийинки туюнтма белгиленет. Эгер ал чын болсо, анда else if блогу аткарылат. Эгерде ал жалган болсо, анда else блогу аткарылат.
Эгерде билдирүүлөр дагы көп болушу мүмкүн:
1 2 3 4 5 6 7 |
|
Которуу конструкциясы кандайдыр бир туюнтуунун маанисин текшерет. Кейс билдирүүлөрү салыштырыла турган маанилерди аныктайт . Эгерде case операторунан кийинки маани коммутатордон келген туюнтумдун маанисине дал келсе, анда бул кейс блогунун коду аткарылат.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Которуу конструкциясы туюнтма катары a өзгөрмөсүн колдонот. Анын мааниси иш билдирүүлөрүнүн кийинки маанилери менен ырааттуу түрдө салыштырылат. a өзгөрмөсү 8ге барабар болгондуктан, блок аткарылат case 8: fmt.Println("a = 8")
. Калган иш блоктору аткарылбайт.
Бул учурда, switch операторунан кийин, биз маанини кайтарган каалаган туюнтманы көрсөтө алабыз. Мисалы, кошуу операциясы:
бир 2 3 4 5 6 7 8 9 |
|
Ошондой эле, которуштуруу конструкциясы кошумча демейки блокту камтышы мүмкүн , эгерде case операторлорунун бири да каалаган маанини камтыбаса аткарылат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Сиз ошондой эле учурда билдирүүдөн кийин бир нече маанини көрсөтсөңүз болот:
1 2 3 4 5 6 7 8 9 10 |
|