-
Go 跟踪函数调用链,理解代码更直观
一.引入 “除了捕捉 panic、延迟释放资源外,我们日常编码中还有哪些使用 defer 的小技巧呢?” 使用 defer 可以跟踪函数的执行过程。没错!这的确是 defer 的一……
淘小欣 2023-02-24
354 0 0 -
Go方法:如何用类型嵌入模拟实现“继承”?
Go 语言从设计伊始,就决定不支持经典面向对象的编程范式与语法元素,所以我们这里只是借用了“继承”这个词汇而已,说是“继承”,实则依旧是一种组合的思想。 而……
淘小欣 2023-02-23
328 0 0 -
Go 方法:方法集合与如何选择receiver类型
在 Go 语言中,方法本质上就是函数 一.receiver 参数类型对 Go 方法的影响 要想为 receiver 参数选出合理的类型,我们先要了解不同的 receiver 参数类型会对 G……
淘小欣 2023-02-22
330 0 0 -
Go函数:怎么让函数更健壮
一.健壮性的三不要原则 函数的健壮性设计包括很多方面,首先就有最基本的“三不要”原则,我们简单来分析一下。 原则一:不要相信任何外部输入的参数 函数的使用……
淘小欣 2023-02-20
330 0 0 -
函数:怎么结合多返回值进行错误处理
函数:怎么结合多返回值进行错误处理 一.Go 语言是如何进行错误处理的? 采用什么错误处理方式,其实是一门编程语言在设计早期就要确定下来的基本机制,它在很……
淘小欣 2023-02-17
365 0 0 -
函数:请叫我“一等公民”
在 Go 语言中,函数是唯一一种基于特定输入,实现特定任务并可返回任务执行结果的代码块(Go 语言中的方法本质上也是函数)。如果忽略 Go 包在 Go 代码组织层……
淘小欣 2023-02-17
329 0 0 -
控制结构:Go中的switch语句有哪些变化?
控制结构:Go中的switch语句有哪些变化? 一.认识 switch 语句 我们先通过一个例子来直观地感受一下 switch 语句的优点。在一些执行分支较多的场景下,使用 sw……
淘小欣 2023-02-10
323 0 0 -
控制结构:Go的for循环,仅此一种
日常编码过程中,我们常常需要重复执行同一段代码,这时我们就需要循环结构来帮助我们控制程序的执行顺序。一个循环结构会执行循环体中的代码直到结尾,然后回……
淘小欣 2023-02-10
268 0 0 -
复合数据类型:用结构体建立对真实世界的抽象
那么什么是对真实世界的抽象呢?我们编写程序的目的就是与真实世界交互,解决真实世界的问题,帮助真实世界提高运行效率与改善运行质量。所以我们就需要对真实……
淘小欣 2023-02-07
260 0 0 -
Go 复合数据类型:原生map类型
一.什么是 map 类型? map 是 Go 语言提供的一种抽象数据类型,它表示一组无序的键值对。用 key 和 value 分别代表 map 的键和值。而且,map 集合中每个 key ……
淘小欣 2023-02-02
247 0 0