6.go基础入门-判断(if)、循环(for)、指针(ptr)、数组(array)

本文介绍了Go语言的基础知识,包括条件判断(if)、循环(for)、指针(ptr)和数组(array)。通过实例详细解释了if的语法和逻辑,循环的使用方式,包括如何使用for循环以及continue和break关键字,以及指针的概念和在内存管理中的作用。此外,还探讨了数组的创建和访问,强调了值传递和指针在节省内存和提高性能方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在前面的篇章中,我们已经把基本数据类型都讲完,我们接下来的几个篇章将进入讲述跟容器有点类似的数据类型,还记的我们上一篇说的数组吗?我们上一篇把它比作是一个 凹槽容器,接下来我们要讲的就是 数组 这个类型,为了让我们更好的去学习和理解数组,我们先学习一下在学数组时需要使用到的知识。
(判断、循环、指针都是非常简单的东西,相比于前面的知识,简直就是小菜一碟)

判断(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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值