/// # Sample
/// Conditional Branching
///
/// # Description
/// Q# supports three branching keywords: `if`, `elif`, and `else`. These behave in the normal
/// way, if you're familiar with if expressions or statements in other languages. One key distinction
/// in Q# is that ifs are expressions, not statements. That means that they can return values, and
/// they effectively perform the job of both ternary expressions and if statements in other languages.
/// If expressions allow your code to branch, or conditionally execute parts of a Q# program.
namespace MyQuantumApp {
@EntryPoint()
operation Main() : Unit {
let number = 5;
// Conditionally messages "Fizz" if the `number`, in this case 5, is divisible by 3.
// Since 5 is not divisible by 3, the message "Fizz" will not be printed.
if number % 3 == 0 { Message("Fizz"); }
// Conditionally messages "Buzz" if the `number`, in this case 5, is divisible by 5.
// Since 5 is divisible by 5, the message "Buzz" will be printed.
if number % 5 == 0 { Message("Buzz"); }
let fahrenheit = 40;
// In this example, we print a message based on the temperature. The
// message that will be printed is "It is livable".
// `elif` allows you to express successive conditional expressions, with each
// successive condition only being evaluated if the previous one was false.
if fahrenheit <= 32 {
Message("It's freezing");
} elif fahrenheit <= 85 {
Message("It is livable");
} else {
Message("It is way too hot");
}
let fahrenheit = 40;
// `if` can also be used as an expression, to conditionally return a value.
let absoluteValue = if fahrenheit > 0 { fahrenheit } else { fahrenheit * -1 };
}
}microsoft/qdk
Publicmirrored fromhttps://github.com/microsoft/qdkAvailable
samples/language/ConditionalBranching.qs
41lines · modepreview