不好!我中了美人计!

开发 开发工具
在Go语言的官网上,对Go语言是不是面向对象的语言做了答复:是也不是。虽然Go语言有类型和方法,并且允许面向对象风格的编程,但是并没有类型的继承,Go语言中“接口”的概念提供了一种不同的方式,我们认为在它更容易使用,更加通用。

[[342563]]

 

 

后记:这篇是上一篇《JavaScript的最大秘密》的续集,继JavaScript的原型法之后,又介绍了一下Go语言面向对象的实现。Go语言在面向对象这一块儿比较有趣,结构体和方法分开,没有继承,只有组合,有一种看起来很像DuckTyping的多态,我想Ken Thompson和Rob Pike等人在设计Go语言的时候,肯定经过了深思熟虑,精心考量。

在Go语言的官网上,对Go语言是不是面向对象的语言做了答复:是也不是。虽然Go语言有类型和方法,并且允许面向对象风格的编程,但是并没有类型的继承,Go语言中“接口”的概念提供了一种不同的方式,我们认为在它更容易使用,更加通用。

Go语言通过在一个类型中嵌入另外一个类型来支持子类化(虽然并不完全等同)的概念。除此之外,Go语言中的方法比C++和Java更加通用,程序员可以在任何数据类型上定义方法,甚至是内置的类型:如Integer, 方法并不局限在structs(classes)上。 同样,没有类型继承使得Go语言中的对象用起来比C++或者Java更加轻量级。

【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】

戳这里,看该作者更多好文

 

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2010-08-18 10:15:53

2020-05-07 09:55:41

黑客恶意软件网络攻击

2023-11-18 09:17:56

Optional代码

2020-05-13 09:03:14

Python开发代码

2022-09-08 13:56:49

MySQL事务记录锁

2017-01-09 12:57:21

Linux

2021-05-10 07:35:11

SwaggeYApi部署

2018-12-11 12:48:36

2019-03-04 09:58:26

2021-07-28 06:46:25

Windows 操作系统微软

2011-08-01 18:44:16

iPhone开发 UIALertVie UIActionSh

2020-06-23 10:28:30

软件研发交付

2021-08-14 08:59:19

勒索病毒网络安全网络攻击

2024-09-30 09:28:34

软件研发交付

2018-08-19 14:30:42

女性分析网站

2019-10-15 09:46:46

机器学习人工智能计算机

2021-07-28 14:32:03

Windows微软

2015-08-11 14:35:00

戴尔云计算anycloud

2020-10-26 07:00:11

源码HTTPAxios

2013-09-17 13:52:00

工程师产品产品文案
点赞
收藏

51CTO技术栈公众号