Go - 决策制定
Go中决策制定的介绍
你好,未来的Go程序员!今天,我们将深入编程最重要的方面之一:决策制定。就像在现实生活中一样,我们的程序需要根据某些条件做出选择。在Go语言中,我们有许多工具可以用来实现这些决策。让我们一起开始这段激动人心的旅程!
如果语句:决策的基础
语法和结构
if
语句是Go中决策制定的基础。它允许我们仅在某个条件为真时执行代码块。以下是基本结构:
if condition {
// 当条件为真时执行的代码
}
让我们看一个简单的例子:
package main
import "fmt"
func main() {
age := 18
if age >= 18 {
fmt.Println("你符合投票资格!")
}
}
在这个例子中,我们检查 age
是否大于或等于18。如果是,我们打印一条消息。运行这段代码,你会看到消息,因为18确实大于或等于18!
添加else子句
如果我们想在条件为假时做些什么呢?这时就需要 else
子句:
package main
import "fmt"
func main() {
age := 16
if age >= 18 {
fmt.Println("你符合投票资格!")
} else {
fmt.Println("抱歉,你太年轻,不能投票。")
}
}
现在,由于 age
是16,小于18,程序将打印 else
块中的消息。
if-else if-else链
有时我们需要检查多个条件。我们可以像这样链式使用 if-else
语句:
package main
import "fmt"
func main() {
score := 75
if score >= 90 {
fmt.Println("A等级")
} else if score >= 80 {
fmt.Println("B等级")
} else if score >= 70 {
fmt.Println("C等级")
} else {
fmt.Println("需要改进")
}
}
这个程序检查 score
并打印相应的等级。分数为75时,它将打印 "C等级"。
switch语句:多路决策者
当你有多个条件要检查,尤其是如果它们都是检查同一个变量时,switch
语句可以使你的代码更干净、更高效。
基本switch语法
package main
import "fmt"
func main() {
day := "Monday"
switch day {
case "Monday":
fmt.Println("这是一周工作的开始!")
case "Friday":
fmt.Println("TGIF!")
default:
fmt.Println("这是普通的一天。")
}
}
在这个例子中,我们检查 day
的值并执行相应的案例。如果其他案例都不匹配,则执行 default
案例的内容。
switch的多案例
你也可以将多个案例组合在一起:
package main
import "fmt"
func main() {
day := "Saturday"
switch day {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("这是工作日。")
case "Saturday", "Sunday":
fmt.Println("这是周末!")
default:
fmt.Println("无效的日期。")
}
}
这段代码将打印 "这是周末!",因为周六是周末之一。
无表达式的switch
Go 允许你使用没有表达式的 switch
,这可以作为长 if-else
链的替代:
package main
import "fmt"
func main() {
score := 85
switch {
case score >= 90:
fmt.Println("A等级")
case score >= 80:
fmt.Println("B等级")
case score >= 70:
fmt.Println("C等级")
default:
fmt.Println("需要改进")
}
}
这将打印 "B等级",因为85大于或等于80。
条件运算符
为了使我们的条件更强大,我们使用条件运算符。以下是最常见的运算符表格:
运算符 | 描述 | 示例 |
---|---|---|
== | 等于 | a == b |
!= | 不等于 | a != b |
< | 小于 | a < b |
> | 大于 | a > b |
<= | 小于或等于 | a <= b |
>= | 大于或等于 | a >= b |
&& | 逻辑与 | a && b |
|| | 逻辑或 | a || b |
! | 逻辑非 | !a |
让我们看看这些运算符的实际应用:
package main
import "fmt"
func main() {
age := 25
hasLicense := true
if age >= 18 && hasLicense {
fmt.Println("你可以开车!")
} else if age >= 18 && !hasLicense {
fmt.Println("你年龄足够,但你需要一个驾照。")
} else {
fmt.Println("你太年轻,不能开车。")
}
}
这个程序检查 age
和 hasLicense
来确定是否可以开车。
结论
决策制定是编程的基本概念,Go语言为我们提供了实现它的强大工具。记住,熟能生巧!尝试使用 if
、switch
和不同的条件运算符创建你自己的程序。
在你继续Go语言的旅程时,你会发现这些构造经常被使用。它们是程序逻辑构建块,帮助你的代码根据不同的条件做出明智的决策。
继续编码,继续学习,最重要的是,享受Go语言的乐趣!
Credits: Image by storyset