为什么golang中没有类-创新互联
Go语言
成都创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为肥东企业提供专业的成都做网站、网站设计,肥东网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。
golang没有类(class)。
golang中并没有明确的面向对象的说法,不能算是一种面向对象的语言。因为:
golang只支持封装,不支持继承和多态
golang只有struct,没有class
实在要扯上的话,可以将struct比作其它语言中的class。
类声明
type Poem struct { Title string Author string intro string }
这样就声明了一个类,其中没有public、protected、private的的声明。
golang用另外一种做法来实现属性的访问权限:属性的开头字母是大写的则在其它包中可以被访问,否则只能在本包中访问。类的声明和方法亦是如此。
类方法声明
func (poem *Poem) publish() { fmt.Println("poem publish") }
或者
func (poem Poem) publish() { fmt.Println("poem publish") }
和其它语言不一样,golang声明方法和普通方法一致,只是在func后增加了poem Poem这样的声明。加和没有加*的区别在于一个是传递指针对象,一个是传递值对象。
以上就是golang有类(class)吗?的详细内容,更多请关注创新互联其它相关文章!
当前题目:为什么golang中没有类-创新互联
分享URL:http://azwzsj.com/article/dcdggs.html