2.0 结构体

go不是像c++、java、ruby和c#一样的面向对象语言。它没有对象和继承的概念。因此也没有很多面向对象语言的特性如多态和重载。

go提供了结构体,并且可以将一些方法和结构体关联。go也支持一种简单但是更有效的组合形式。总的来说,这是为了让代码更加简洁,但是在一些场合,你会失去一些面向对象语言提供的特性。(需要特别指出的是,通过组合实现继承是一个很古老的方式了,但是go是我使用过的所有语言中,立场最坚定的。)

尽管你不能像你之前使用的面向对象语言一样使用go,但是你将会注意到,定义一个结构体和定义一个类是很相似的。这里给出了一个简单的例子,定义一个Saiyan结构体:

type Saiyan struct {
    Name string
    Power int
}

我们很快会看到怎么往这个结构体添加一个方法,就像类会拥有方法一样。在这之前,我们需要去学习如何声明结构体。

链接

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「IT平头哥联盟」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

results matching ""

    No results matching ""