Golang入门学习(4)
Go的第四课——运算符和控制流
运算符
自增(++)和自减(–)它是单独的语句,不属于运算符,其余的那些运算符跟 C 语言一模一样。
控制流
选择语句
选择结构依然是 if-else 和 switch 这两个分支语句,但是多了一个 select 语句。
if特性
没有什么过多的特性,无非就是 if 的条件不需要加括号以及后面的语句必须要和 if 在同一行。
1 | if true{//通过 |
并且可以在 if 语句中进行初始化,比如下面这个例子。
1 | if age:=1;age>=18{ |
此时 age 的作用域在 if 语句中,出了这个语句这个变量失效。
switch特性
这里多了一个特性是不再会有下滑的过程。
1 | package main |
本来上面的例程当中,应该会输出三句话的,但是实际上只会输出一句 hahaha
看来每一个 case 自动加了 break,我感觉这样倒是更加不方便了,因为平时用 switch 语句本来也就图这个方便来着的,不过既然是语言特性那也记一下。
select 语句
涉及到点概念,先 mark 下,后来再来补。
循环语句
顺序选择循环依然是这三个结构,不同的是在循环结构中, golang 删除了典型的 while 和 do-while 两个循环语句,新增了 for range 语句。
for 循环
有点坑。
- 若想在初始化部分新定义一个变量则只能使用
i:=0
的形式定义并初始化而不能使用var
的方式声明变量。 - 不需要添加括号,但是初始化,循环条件,循环语句必须使用分号分隔。
1 | package main |
for range循环
就跟 python 里面遍历数组差不多,但是需要给两个循环变量。
1 | package main |
如果不想要其中一个变量则那个变量可以使用 _
替代
1 | package main |
当然还有一个比较好用的数据类型 map,其实就可以理解为 python 的 dict。
for range 同样可以遍历这样的数据类型,我们也可以选择性地拿 key 或者 value。
for range 的对象可以是字符串,这样遍历的时候我们会拿出每一个字符,跟 python 差不多。
小结
学到现在真的感觉 go 就是 C 和 python 亲生的一样。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 xia0ji233's blog!