Go 语言的叙述,与大部分程序语言用法差不多,所以对学过程序语言的朋友,不会太需要花时间理解,这里来讲解Go 语言的叙述,一些基本的用法。
相信 if 是大部分程序语言都有的判式,当中的结构先参考以下,
if condition {
// run code here.
}
结构里会有一个条件,这个条件是个布林值,如果为 true,则会执行括号里的程序码,相反的,如果为 false,则会直接跳过,我们直接带入一个实例:
package main
import "fmt"
func main(){
// 宣告点(2,1)
var x = 2
var y = 1
// 判断是否(2,1)在直线方程序y=x-1上
if y == x-1 {
fmt.Println("(2,1)在直线方程序y=x-1上")
}
}
可以试着自己执行看看此段程序码,因为 if 後的条件是成立的,所以会执行括号内的程序码,结果会印出"(2,1)在直线方程序y=x-1上"。
而if叙述,常常会伴随着 else,if else 相当於二选一的概念,当 if 中的条件不成立时,则会执行 else 里的程序码,我们先看一下结构:
if condition {
// run code here.
} else{
// run code here.
}
这里直接来看一个实例:
package main
import "fmt"
func main(){
// 宣告点(2,2)
var x = 2
var y = 2
// 判断是否(2,2)在直线方程序y=x-1上
if y == x-1 {
fmt.Println("(2,2)在直线方程序y=x-1上")
} else{
fmt.Println("(2,2)不在直线方程序y=x-1上")
}
}
可以试着自己执行看看此段程序码,因为 if 後的条件没有成立的,所以会执行 else 括号内的程序码,结果会印出" (2,2) 不在直线方程序 y=x-1 上"。
而一个叙述,常常不会只有一个情况,所以会有各种不同的条件,然而需要增加更多的判断,这时就可以多增加 else if 来新增条件判断,以执行程序:
if condition {
// run code here.
} else if condition {
// run code here.
} else {
// run code here.
}
这里也直接来看一个实例:
package main
import (
"fmt"
)
func main() {
x := 31
if x < 10 {
fmt.Println("x小於10")
} else if x < 20 {
fmt.Println("x大於等於10,x小於20")
} else if x < 30 {
fmt.Println("x大於等於20,x小於30")
} else {
fmt.Println("x大於30")
}
}
if 叙述可以有需多的变化,可以依自己的需求来设计 if 叙述,再来我们将继续介绍另一种叙述。
switch 叙述算是一种语法糖,其目的是在简化 if 叙述的语法, switch 是 C 家族语言的传统,Go 语言保留了这项特性,且对其做些微的改良,我们先来看 switch 的结构语法:
switch v {
case a, b:
// run 1_block code here.
case c:
// run 2_block code here.
fallthrough
case d:
// run 3_block here.
default:
// run 4_block here.
}
这里稍微讲解一下 switch 的语法,switch 会检查资料 v,并依照 v 的值来决定执行哪个 case 里的程序。仔细来说,当 v 的值等於 a 或 b,则会执行 1_block,依此类推,若最後三个case的都不成立,则会执行 default 里的程序。而在 case c 尾端,加上了 fallthrough 叙述,这时候会强制执行下一段程序码。在这边直接带一个例子:
package main
import (
"fmt"
)
func main() {
x := 31
switch {
case x < 10:
fmt.Println("x小於10")
case x < 20:
fmt.Println("x大於等於10,小於20")
case x < 30:
fmt.Println("x大於等於20,小於30")
default:
fmt.Println("x大於30")
}
}
由上述例子,因为 x 为31,都不符合三个 case 的条件,所以自然执行 default 里的程序码。
今天介绍完了 Go 语言的叙述基本用法,其实叙述要写得好,是需要依照自己的需求下去设计的,一层 if 再包一层 if ,包了三四层後,或许就会对未来更改需求时,产生许多的麻烦,所以看似简单的叙述,遇到复杂的需求时,也会需要花时间来设计,希望今天的讲解有帮助到您!
https://opensourcedoc.com/golang-programming/selection/
<<: [前端暴龙机,Vue2.x 进化 Vue3 ] Day5. Vue的起手开发
>>: Day 02:准备好你的家私,为开发 Angular 做好准备
最後一天就来部署我们的flutter web吧,也算是这系列文中真的跟「web」唯一有关的一篇文XD...
本文目标 熟悉 UNIX 作业系统的发展 认识自由软件运动与 GNU 计画 了解 C 语言是被设计来...
Operators 操作符是Combine 中非常重要的一部分,通过各式各样的操作符,可以将原来各自...
来到第6周 上述到游戏专题已开始 在团体生活中 里面难免会遇到一些纷争 毕竟,只要有人群就会形成一个...
前一天我们讲到综合版可以接收所有种类的讯息。 @csrf_exempt def callback(r...