搜寻文章分类:Go

人与各种形状图示

学习 Go interface 实践多型

对于「多型 Polymorphism」的概念理解像是「要做一件事,但这件事对不同对象来说实践的方式不同」。具体来说像是各种「形状」都可以「算面积」,但背后实践的方法却不同,而在 Go 当中 interface 就是方法的集合。

板手图示

像 Class Method 的奇特 Go Receiver Function

第一次看到 Go 的 Receiver 函数会觉得这是啥怪语法,函数名前面还能接收参数?Go 语言提倡「Composition over inheritance」,并极力追求代码的简洁性,以此规避 class-based OOP 所带来的复杂性。

指標图示

学习 Go Pointer 与 Passing by reference 的差异

Go 设计上一切数值都是直白的「Passing by value」,会有「Passing by value」的效果原因是因为 Reference Types 带有指标,复制时是复制指标值。要让 Value Types 有 Passing by Reference 的效果要显式的使用 Pointer。