前言
在前面的篇章中,我们已经把基本数据类型都讲完,我们接下来的几个篇章将进入讲述跟容器有点类似的数据类型,还记的我们上一篇说的数组吗?我们上一篇把它比作是一个 凹槽容器,接下来我们要讲的就是 数组 这个类型,为了让我们更好的去学习和理解数组,我们先学习一下在学数组时需要使用到的知识。
(判断、循环、指针都是非常简单的东西,相比于前面的知识,简直就是小菜一碟)
判断(if)
格式:
if 条件 {
…代码
}
是不是很简单,就是当条件成立 时,就执行花括号中的代码,来我们直接上代码:
var a int8 = 1
var c int8 = 1
var b bool = false
if a == c {
fmt.Println("条件成立1")
}
if b {
fmt.Println("条件成立2")
}
/*
输出结果:
条件成立1
*/
我们变量 a 和 c 的值都是 1,所以使用 == 对比两个变量的值都是 1,所以条件成立,结果为 true,然后执行花括号中的代码,打印出 条件成立1。
而我们的变量 b 是 bool 布尔类型,并且值是 false,所以当 if 接收到 b 变量之后,判断值是 false,所以不会执行花括号里面的内容。
是不是很好理解?我在举个通俗的例子,我们做白日梦的时候:
如果,我中了5000万彩票,我就回家养猪。
- “如果” 对应的就是 if
- “我中了5000万” 这个假设对应我们的 条件
- “就回家养猪” 我们的条件满足(中了5000万),才能这么任性的辞职回家养猪
所以代码也是来源于生活的,我们平常还会这样说:
我买的彩票 如果,中了5000万,就回家养猪;如果,中了500万,就回家养鱼;都没中,就继续上班写代码吧。 用代码表达出来:
// 彩票中奖金额
var a int32 = 5000
if a == 5000 {
// 中了5000 万,养猪
fmt.Println("回家养猪")
} else if a == 500 {
// 中了 500 万,养鱼
fmt.Println("回家养鱼")
} else {
// 以上都没有中,秃头
fmt.Println("码代码搬砖秃头")
}
if a > 500 {
fmt.Println("我是单独的if")
}
/*
输出结果:
回家养猪
我是单独的if
*/
else 是关键字,用来串联条件,意思是 其它, else if 顾明思意就是 其它 的 判断,通俗的话来说就是 多个假设,我们代码里面叫 多条件,顺序从上往下进行判断,我们执行第一个判断 a == 5000,条件成立,所以 回家养猪。
这里要注意,多条件下(用 else 关键字串联起来),一旦判断条件成立,执行花括号内的代码后,不会再往下执行余下的判断。但 if a > 500 是独立的判断,与上面的一堆并无关联
最后面的 else { … } 又是什么意思呢?这个超简单,就是当前面的 if 条件都不成立时,就会执行 else { … } 的代码。(通俗的讲,就是 彩票没中5000万也没中500万,这个时候我们还是继续敲代码敲到秃头吧)
在后面的篇章中,我们会把学的知识都慢慢的运用起来,这里我们先把它理解。
循环
循环,这个更简单,更容易理解,都说代码来源于生活,生活中的循环就是重复的去做某件事;你在原地转十个圈 == 原地转圈的动作你循环了十次,这两个都是一个意思,可以理解吧? 是不是超级简单?既然理解了,接下来我们就讲讲该怎么让一段代码,重复执行10次。
我们需要在代码中使用 for 关键字
for 条件 { …代码 }
跟我们的 if 非常的像, 只要条件满足,就执行花括号中的代码; for 与 if 的不同点就在于 循环,只要 for 的条件成立,就会再次重复执行for,直到 条件不成立 才会结束执行。看代码:
// 创建变量a,赋值0
var a int32 = 0
// 判断a是否小于10
for a < 10 {
// 打印a变量的值(Print 不换行打印到控制台)
fmt.Print(a)
// a变量的值加1
a = a + 1
}
// for 执行完毕后继续往下执行代码
fmt.Println()
fmt.Println("for结束了,执行了我")
/*
输出结果:
0123456789
for结束了,执行了我
*/
是不是超级简单, 我们创建了一个 a 变量赋值0,然后执行 for 代码,判断 a 变量是否小于10,第一次执行 a 的值是0,所以条件成立,执行花括号中的代码打印a变量,再让a的值加1,花括号代码执行完毕;开始第二轮循环,继续判断a是否小于10,然后继续执行花括号…;直到 a 的值被加到了10,for 继续执行条判断 a 是否小于 10,条件不成立,所以不再执行 for 代码,进而代码往下执行 fro 或括号外的代码,输出 “for结束了,执行了我”。
非常简单是不是,就三个点:
- 创建一个变量
- 判断变量的值
- 修改变量的值
我们的 for 循环有一种简化的写法,同样可以达到一样的效果:
for 判断前执行; 条件判断; 花括号代码执行后执行 {…}
( a = a + 1 就是 a 变量自身加1, a++ 是它的简写,意思是一样的,自身加1; a-- 就是自身减1)
// 初始化变量a赋值0 | 条件判断a小于10 | {...} 花括号代码执行后a变量累加1
for a:=0; a