系列文章目录
跟着😽猫猫学Golang,快人一步
系列初开,跟着我走进Go 语言的世界里🌍
系列目录
Golang极速入门课一,我与Golang初相见
Golang极速入门课二,关键字、保留字与 Go语言思想
Golang极速入门课三,基本类型知多少
Golang极速入门课四,变量与常量
文章目录
😺前言
随着Golang的不断普及,国内针对Go语言的需求不断增加,但相对应的学习者与教程却并没有增多,Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易,它也是我编写最顺手的编程语言。
Google 对 Go 寄予厚望,其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助开发者处理琐碎但重要的内存管理问题。Go 的速度也非常快,几乎和 C 或 C++ 程序一样快,且能够快速开发应用程序。
一、条件语句
条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。
• 可省略条件表达式括号。 • 持初始化语句,可定义代码块局部变量。 • 代码块左括号必须在条件表达式尾部。
1.基本 if
if bool 表达式 {
/* 在 bool 表达式为 true 时执行 */
}
例子 判断变量大小
func main() {
// 定义变量数值为 1
a := 1
// a < 1 为 bool 表达式,此时 a 为1 不小于 1,则表达式值为 false
if a < 1 {
fmt.Println(" a < 1" )
} else if a == 1 {
fmt.Println(" a 的值为 1" )
} else {
fmt.Println(" a > 1" )
}
fmt.Println("条件判断结束,程序继续运行")
}
2.基本 switch
switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。
Golang switch 分支表达式可以是任意类型,不限于常量。可省略 break,默认自动终止。
switch var1 {
case val1:
// if var1 == var1
...
case val2:
// if val2 == val2
...
default:
...
}
例子 判断变量数值
func main() {
// 定义变量数值为 1
a := 1
switch a{
case 1:
fmt.Println("a 的值为 1")
case 2:
fmt.Println("a 的值为 2")
case 3,4,5:
fmt.Println("a 的值为 3 或 4 或 5")
default:
fmt.Println("a 的值不为以上数值")
}
}
3.基本 select
select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。
select 是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。
select 随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。
select {
case communication clause :
statement(s);
case communication clause :
statement(s);
/* 你可以定义任意数量的 case */
default : /* 可选 */
statement(s);
}
例子 判断管道发送数值
func main() {
// 定义变量数值为 1
var a, a2, a3 chan int
select {
case <- a:
fmt.Println("a 管道发送数值")
case <- a2:
fmt.Println("a2 管道发送数值")
case <- a3:
fmt.Println("a3 管道发送数值")
default:
fmt.Println("三个管道都不存在值")
}
}
二、循环语句
循环控制语句可以控制循环体内语句的执行过程
1.基本 for
for循环是一个循环控制结构,可以执行指定次数的循环。
Go语言的For循环有3中形式,只有其中的一种使用分号。
1.常见的 for 循环,支持初始化语句。
for i:=0;i < n;i++ {
}
2. for 循环,替代 while (n > 0)
for n > 1 {
}
3. for 循环,替代 while ( true )
for {
}
4. for range 循环
for index , value := nums {
}
例子 打印3个数
func main() {
for i := 0; i < 3; i++ {
fmt.Println("a 的值为: ", a)
}
var a = 0
for a < 3 {
a++
fmt.Println("a 的值为: ", a)
}
var count = 0
for {
count++
fmt.Println("a 的值为: ", a)
if count > 3 {
return
}
}
var nums = []int{1, 2, 3}
for i,v:= range numbers {
if i > 3 {
return
}
fmt.Println("a 的值为: ", a)
}
}
2.循环控制关键字 Goto、Break、Continue
goto 语句可以无条件地转移到过程中指定的行。
for i := 0; i < 3; i++ {
if i > 1 {
// 忽略此次,跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue
}
if i > 2 {
// 经常用于中断当前 for 循环或跳出 switch 语句
break
}
if i > 1 {
// 将控制转移到被标记的语句。
goto
}
}
label: 标记位置
😽总结
🎶感谢您看到这里🎶
实际工作中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句,也有很多的校验需要通过条件判断进行,这将是绕不开的语法
,但是也是清晰明了的语法、当我们熟悉后,才可以去运用,在不断学习中提高自己。