Expresii condiționale
Expresiile condiționale reprezintă operații logice și operații de relație. Ele reprezintă o condiție și returnează o valoare de tip bool: true (dacă condiția este adevărată) sau false (dacă condiția este falsă).
Operații de relație
Operațiile de relație permit compararea a două valori. În limbajul Go există următoarele operații de relație:
- ==
Operația "egal". Returnează true dacă amândoi operanzi sunt egali și false dacă nu sunt egali:
package main
import "fmt"
func main() {
var a int = 8
var b int = 3
var c bool = a == b
fmt.Println(c) // false
}
- >
Operația "mai mare decât". Returnează true dacă primul operand este mai mare decât al doilea, și false dacă primul operand este mai mic decât al doilea:
var a int = 8
var b int = 3
var c bool = a > b // true
- <
Operația "mai mic decât". Returnează true dacă primul operand este mai mic decât al doilea, și false dacă primul operand este mai mare decât al doilea:
var a int = 8
var b int = 3
var c bool = a < b // false
- <=
Operația "mai mic sau egal". Returnează true dacă primul operand este mai mic sau egal cu al doilea, și false dacă primul operand este mai mare decât al doilea:
var a int = 8
var b int = 3
var c bool = a <= b // false
- >=
Operația "mai mare sau egal". Returnează true dacă primul operand este mai mare sau egal cu al doilea, și false dacă primul operand este mai mic decât al doilea:
var a int = 8
var b int = 3
var c bool = a >= b // true
- !=
Operația "nu este egal". Returnează true dacă primul operand nu este egal cu al doilea, și false dacă amândoi operanzi sunt egali:
var a int = 8
var b int = 3
var c bool = a != b // true
var d bool = a != 8 // false
În general, operațiile de relație sunt utilizate în construcții condiționale de tipul if...else, pe care le vom explora mai departe.
Operații logice
Operațiile logice compară două condiții. De obicei, acestea se aplică relațiilor și combină mai multe operații de relație. Operațiile logice includ următoarele:
- ! (operația de negare)
Inversează valoarea. Dacă operandul este true, returnează false, altfel returnează true:
var a bool = true
var b bool = !a // false
var c bool = !b // true
- && (conjuncție, multiplicare logică)
Returnează true dacă amândoi operanzi nu sunt false. Returnează false dacă cel puțin un operand este false:
var b bool = 4 > 5 && 6 > 8 // false
var c bool = 3 <= 5 && 10 > 8 // true
- || (disjuncție, adunare logică)
Returnează true dacă cel puțin un operand nu este false. Returnează false dacă amândoi operanzi sunt false:
var b bool = 4 > 5 || 6 > 8 // false
var c bool = 3 == 5 || 10 > 8 // true