编程中的决策类似于现实生活中的决策。在决策制定中,当满足给定条件时执行一段代码。有时这些也称为控制流语句。 Golang 使用控制语句根据一定的条件来控制程序的执行流程。这些用于根据程序状态的变化使执行流程前进和分支。
Go 编程的决策语句是:
if 语句
这是最简单的决策声明。它用于决定是否执行某个语句或语句块,即如果某个条件为真,则执行语句块,否则不执行。
句法:
if(condition) {
// Statements to execute if
// condition is true
}
流程图:
例子:
C
// Go program to illustrate the
// use of if statement
package main
import "fmt"
func main() {
// taking a local variable
var v int = 700
// using if statement for
// checking the condition
if(v < 1000) {
// print the following if
// condition evaluates to true
fmt.Printf("v is less than 1000\n")
}
fmt.Printf("Value of v is : %d\n", v)
}
C
// Go program to illustrate the
// use of if...else statement
package main
import "fmt"
func main() {
// taking a local variable
var v int = 1200
// using if statement for
// checking the condition
if(v < 1000) {
// print the following if
// condition evaluates to true
fmt.Printf("v is less than 1000\n")
} else {
// print the following if
// condition evaluates to true
fmt.Printf("v is greater than 1000\n")
}
}
C
// Go program to illustrate the
// use of nested if statement
package main
import "fmt"
func main() {
// taking two local variable
var v1 int = 400
var v2 int = 700
// using if statement
if( v1 == 400 ) {
// if condition is true then
// check the following
if( v2 == 700 ) {
// if condition is true
// then display the following
fmt.Printf("Value of v1 is 400 and v2 is 700\n" );
}
}
}
C
// Go program to illustrate the
// use of if..else..if ladder
package main
import "fmt"
func main() {
// taking a local variable
var v1 int = 700
// checking the condition
if(v1 == 100) {
// if condition is true then
// display the following */
fmt.Printf("Value of v1 is 100\n")
} else if(v1 == 200) {
fmt.Printf("Value of a is 20\n")
} else if(v1 == 300) {
fmt.Printf("Value of a is 300\n")
} else {
// if none of the conditions is true
fmt.Printf("None of the values is matching\n")
}
}
输出:
v is less than 1000
value of v is : 700
if…else 语句
if 语句单独告诉我们,如果条件为真,它将执行语句块,如果条件为假,则不会执行。但是,如果条件为假,我们想做其他事情怎么办。下面是 else 语句。当条件为假时,我们可以使用 else 语句和 if 语句来执行代码块。
句法:
if (condition) {
// Executes this block if
// condition is true
} else {
// Executes this block if
// condition is false
}
流程图:
例子:
C
// Go program to illustrate the
// use of if...else statement
package main
import "fmt"
func main() {
// taking a local variable
var v int = 1200
// using if statement for
// checking the condition
if(v < 1000) {
// print the following if
// condition evaluates to true
fmt.Printf("v is less than 1000\n")
} else {
// print the following if
// condition evaluates to true
fmt.Printf("v is greater than 1000\n")
}
}
输出:
v is greater than 1000
嵌套 if 语句
在 Go 语言中,嵌套的 if 是一个 if 语句,它是另一个 if 或 else 的目标。嵌套 if 语句意味着 if 语句内的 if 语句。是的,Golang 允许我们在 if 语句中嵌套 if 语句。即,我们可以将一个 if 语句放在另一个 if 语句中。
句法:
if (condition1) {
// Executes when condition1 is true
if (condition2) {
// Executes when condition2 is true
}
}
流程图:
例子:
C
// Go program to illustrate the
// use of nested if statement
package main
import "fmt"
func main() {
// taking two local variable
var v1 int = 400
var v2 int = 700
// using if statement
if( v1 == 400 ) {
// if condition is true then
// check the following
if( v2 == 700 ) {
// if condition is true
// then display the following
fmt.Printf("Value of v1 is 400 and v2 is 700\n" );
}
}
}
输出:
Value of v1 is 400 and v2 is 700
if..else..if 梯子
在这里,用户可以在多个选项中做出决定。 if 语句从上到下执行。一旦控制 if 的条件之一为真,则执行与该 if 相关的语句,并绕过梯形图的其余部分。如果没有一个条件为真,则将执行最后的 else 语句。
要点:
- if 语句可以有零或一个 else 并且它必须在任何 else if 之后。
- if 语句可以有零到多个 else if,并且它必须在 else 之前。
- 如果 else if成功,则不会测试其余的 else if或else,
句法:
if(condition_1) {
// this block will execute
// when condition_1 is true
} else if(condition_2) {
// this block will execute
// when condition2 is true
}
.
.
. else {
// this block will execute when none
// of the condition is true
}
流程图:
例子:
C
// Go program to illustrate the
// use of if..else..if ladder
package main
import "fmt"
func main() {
// taking a local variable
var v1 int = 700
// checking the condition
if(v1 == 100) {
// if condition is true then
// display the following */
fmt.Printf("Value of v1 is 100\n")
} else if(v1 == 200) {
fmt.Printf("Value of a is 20\n")
} else if(v1 == 300) {
fmt.Printf("Value of a is 300\n")
} else {
// if none of the conditions is true
fmt.Printf("None of the values is matching\n")
}
}
输出:
None of the values is matching