module main
fn main() {
w := true && true
println('w: $w')
x := false && true
println('x: $x')
y := true && false
println('y: $y')
z := false && false
println('z: $z')
/*
w: true
x: false
y: false
z: false
*/
}
範例:邏輯運算符||
module main
fn main() {
w := true || true
println('w: $w')
x := false || true
println('x: $x')
y := true || false
println('y: $y')
z := false || false
println('z: $z')
/*
w: true
x: true
y: true
z: false
*/
}
範例:邏輯運算符!
module main
fn main() {
x := true
println('x: $x')
y := !x
println('y: $y')
z := !y
println('z: $z')
/*
x: true
y: false
z: true
*/
}
邏輯運算的運算元皆為布林型別,而其他型別之間的關係評估可以使用關係運算符:
少於<:左側運算元的值小於右側運算元的值時為true
多於>:左側運算元的值大於右側運算元的值時為true
等於==:左側運算元的值與右側運算元的值相同時為true
不等於==:左側運算元的值與右側運算元的值不相同時為true
少於或等於<=:左側運算元的值小於或相同於右側運算元時為true
多於或等於>=:左側運算元的值大於或相同於右側運算元時為true
範例:關係運算符
module main
fn main() {
mut result := false
mut my_coins := 1000
mut friend_coins := 900
println("I have $my_coins coins.")
println("friend has $friend_coins coins.")
// less than
result = friend_coins < my_coins
println("friend's less than mine: $result") // true
// not equal to
result = friend_coins != my_coins
println("friend's not equal to mine: $result") // true
// greater than
println("I give friend 200 coins.")
my_coins = my_coins - 200
friend_coins = friend_coins + 200
result = friend_coins > my_coins
println("friend's greater than mine: $result") // true
// equal to
println("friend gives me 150 coins.")
friend_coins = friend_coins - 150
my_coins = my_coins + 150
result = friend_coins == my_coins
println("friend's equal to mine: $result") // true
// less than or equal to
println('my coins is less than or equal to 900: ${my_coins <= 900}') // false
println('my coins is less than or equal to 950: ${my_coins <= 950}') // true
println('my coins is less than or equal to 1000: ${my_coins <= 1000}') // true
// greater than or equal to
println('my coins is greater or equal to 900: ${my_coins >= 900}') // true
println('my coins is greater or equal to 950: ${my_coins >= 950}') // true
println('my coins is greater or equal to 1000: ${my_coins >= 1000}') // false
/*
I have 1000 coins.
friend has 900 coins.
friend's less than mine: true
friend's not equal to mine: true
I give friend 200 coins.
friend's greater than mine: true
friend gives me 150 coins.
friend's equal to mine: true
my coins is less than or equal to 900: false
my coins is less than or equal to 950: true
my coins is less than or equal to 1000: true
my coins is greater or equal to 900: true
my coins is greater or equal to 950: true
my coins is greater or equal to 1000: false
*/
}