Go语言笔记:解析Interface类型的语法行为与使用方法
发布时间
阅读量:
阅读量
Go语言并非一种典型的OO语言,其语法结构中并未包含类与继承的机制。
在缺乏继承的情况下,是否意味着无法实现多态行为?答案是否定的,Go语言通过引入一种新型数据结构—Interface,在功能上实现了类似C++中的“多态”特性。尽管这种实现方式在语法层面与C++的多态并不完全一致,但在实际效果上仍体现出多态的特征。
那么,Go语言中的Interface类型究竟指的是什么?它的使用方式又是怎样的?这正是本篇笔记所要探讨的核心问题。
1. Go中的Method(s)
在深入讲解Interface类型之前,有必要先对Go语言中的method(s)概念进行简要介绍,因为Interface与method(s)之间存在紧密的关联。
尽管Go语言不支持类的概念,但其定义的数据类型仍然可以拥有对应的method(s)。从本质上讲,method(s)其实就是函数的一种形式,只不过这类函数是针对特定数据类型的 ,因此在函数定义中会出现一个receiver参数来标识该函数的作用对象。
关于methods的具体语法规范,可参考[language specification](http://golang.org/ref/spec#Method_exp
全部评论 (0)
还没有任何评论哟~
