GO语言中面向对象的示例分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍GO语言中面向对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!GO语言中的面向对象其实GO并不是一个纯面向对象编程语言。它没有提供类(class)这
千家信息网最后更新 2026年11月02日GO语言中面向对象的示例分析
这篇文章主要介绍GO语言中面向对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
GO语言中的面向对象
其实GO并不是一个纯面向对象编程语言。它没有提供类(class)这个关键字,只提供了结构体(struct)类型。
java或者C# 里面,结构体(struct)是不能有成员函数的。然而,Go语言中的结构体(struct)可以有"成员函数"。方法可以被添加到结构体中,类似于一个类的实现。
我个人觉得Go 语言在的面向对象,其实更简单,也更容易理解。
学过java或C# 的人应该都知道,面向对象的三个基本特征:封装、继承和多态。他们的定义我这里就不细说了。下面,就直接看看 go 语言下的面向对象是怎样实现的吧。
1. 封装特性
Golang区分公有属性和私有属性的机制就是方法或属性是否首字母大写,如果首字母大写的方法就是公有的,如果首字母小写的话就是私有的。
package mainimport "fmt"type Person struct {name string}func (person *Person) setName(name string) {person.name = name}func (person *Person) GetInfo() {fmt.Println(person.name)}func main() {p := Person{"zhangsan"}p.setName("lisi")p.GetInfo()}
2. 继承特性
GO语言的继承方式采用的是匿名组合的方式:Woman 结构体中包含匿名字段Person,那么Person中的属性也就属于Woman对象。
package mainimport "fmt"type Person struct {name string}type Woman struct {Personsex string}func main() {woman := Woman{Person{"wangwu"}, "女"}fmt.Println(woman.name)fmt.Println(woman.sex)}
3. 多态特性
package mainimport "fmt"type Eater interface {Eat()}type Man struct {}type Woman struct {}func (man *Man) Eat() {fmt.Println("Man Eat")}func (woman *Woman) Eat() {fmt.Println("Woman Eat")}func main() {var e Eaterwoman := Woman{}man := Man{}e = &womane.Eat()e = &mane.Eat()}
以上是"GO语言中面向对象的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
对象
语言
属性
结构
字母
就是
方法
特性
示例
分析
多态
内容
函数
大写
方式
篇文章
C#
封装
私有
三个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑰夏咖啡
互联网科技海报
有格互联网科技
广州万易互联网科技有限公司
山东特亿宝互联网科技有限公司
深圳恒合互联网络科技有限公司
互联网金融监管科技数据
唐信互联网科技
互联网 新科技
互联网科技视频素材
互联网科技生活的内容
无锡溥仪互联网科技有限公司
博兴的互联网电子科技公司
新华互联网科技2019
荆州市昕露互联网络科技有限公司
华夏恒生科技与互联网科技
互联网科技大赛获奖感言
为客找房互联网科技公司怎么样
广州百诚互联网科技有限公司官网
版纳互联网科技选哪家
互联网属科技
互联网金融 科技金融
无线互联网科技
互联网科技ppt模板
多迪互联网科技有限公司
联恩商钥互联网科技有限公司
宜昌元轩互联网科技有限公司
锡山区互联网智能科技产品供应
互联网科技数字货币
互联网科技创新创业项目