今天我开始学习golang的语法
1.if...else语句
和c++差不多,但是条件判断不用加括号
我写了一段判断小猫年龄的代码
代码实现如下
输出结果如下
2.switch语句
以上的代码,同样的用switch也能写
实现代码如下
执行结果如下
我觉得switch语句和if...else不一样的地方就是他能判断字符串
比如我写一段评价小猫好坏的代码
实现代码如下
输出结果如下
3.for循环
我写了一段遍历animal数组的代码
同样,golang中的条件判断是不用加括号的
实现代码如下
输出结果如下
4.range遍历
range是范围的意思
index是下标
value是复制出来的值,不是数组里的原有值
同上的range循环实现代码如下
输出结果如下
range循环还可以用来遍历字典
我写了个动物吃饭的代码
需要注意的是如果要输出%s,必须是printf
实现代码如下
输出结果如下
5.error接口
首先需要引用errors包
然后我创建了一个错误方法
然后我再调用这个错误方法
输出结果为
自定义错误
在自定义错误中就不用调用errors包了
我创建了一个bigerr结构体
然后创建一个方法实现这个结构体
最后在main方法中调用
输出效果为
推断错误
用来判断错误类型是否一样
先创建两个不同的错误结构体
分别引用并判断
输出结果为
6.panic
当程序运行到无法执行的错误时就会触发panic
首先我介绍一个方法recover(),recover()是用来恢复程序执行的函数,当panic发生时,go语言会查找栈中的defer函数,并检查是否存在recover()函数,如果recover()存在,则会停止执行panic,并执行recover
实现代码为
输出结果如下
以上是我所学的golang基本语法