Шарттуу туюнтмалар логикалык жана реляциялык операцияларды билдирет. Алар кандайдыр бир шартты билдирет жана bool маанисин кайтарат: true
(эгерде шарт чын болсо) же false
(эгерде шарт жалган болсо).
Реляциялык операциялар эки маанини салыштырууга мүмкүндүк берет. Go тилинде төмөнкү реляциялык операторлор бар:
Операция бирдей. Эки операнд тең бирдей болсо, чындыкты кайтарат, эгер алар бирдей эмес болсо, жалганды кайтарат:
1 2 3 4 5 6 7 8 9 |
|
"Көбүрөөк" операциясы. Биринчи операнд экинчиден чоңураак болсо, чындыкты кайтарат, ал эми биринчи операнд экинчиден кичине болсо, жалганды кайтарат:
1 2 3 |
|
Операциядан азыраак. Биринчи операнд экинчиден кичине болсо, чындыкты кайтарат, ал эми биринчи операнд экинчиден чоң болсо, жалганды кайтарат:
1 2 3 |
|
Операция аз же барабар. Биринчи операнд экинчиден кичине же барабар болсо "чындыкты", ал эми биринчи операнд экинчиден чоңураак болсо "false" кайтарат:
1 2 3 |
|
Операциядан чоңураак же барабар. Биринчи операнд экинчиден чоң же барабар болсо, чындыкты кайтарат, ал эми биринчи операнд экинчиден кичине болсо, жалганды кайтарат:
1 2 3 |
|
Операция бирдей эмес. Биринчи операнд экинчиге барабар болбосо, чындыкты кайтарат, ал эми эки операнд тең бирдей болсо, жалганды кайтарат:
1 2 3 4 |
|
Эреже катары, реляциялык операциялар if...else тибиндеги шарттуу конструкцияларда колдонулат, алар тууралуу кийинки сөз болот.
Логикалык операциялар эки шартты салыштырат. Алар, адатта, мамилелерге колдонулат жана бир нече байланыш операцияларын бириктирет. Логикалык операцияларга төмөнкүлөр кирет:
Маани инверсиялайт. Эгерде операнд чын болсо, анда жалганды кайтарат, болбосо чындыкты кайтарат.
1 2 3 |
|
Эки операнд тең жалганга барабар болбосо, чындыкты кайтарат. Жок дегенде бир операнд жалган болсо, false кайтарат.
1 2 |
|
Жок дегенде бир операнд жалган болбосо, чындыкты кайтарат. Эки операнд тең жалган болсо, false кайтарат.