GO语言中面向对象的示例分析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要介绍GO语言中面向对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!GO语言中的面向对象其实GO并不是一个纯面向对象编程语言。它没有提供类(class)这
千家信息网最后更新 2025年12月03日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安全错误
数据库的锁怎样保障安全
广西贫困数据库
济南职业学院网络技术技能考试
杨浦区数据库卷尺定制联系方式
一些比较中等的软件开发公司
内测服务器简称什么意思
游戏服务器 cdn
电脑显示上传服务器发生错误
为什么选择软件开发为作文
bz2文件导入数据库
正规网络技术分类优势
脏小豆的服务器是国际服吗
win服务器防病毒
网络技术应用期末考试
token中控服务器安全性
服务器运维入门
常熟口碑好的网络技术服务电话
台州云鹿网络技术有限公司
软件开发没基础能入行吗
网络安全产品运营中心简介
星团数据库
搜索网络安全手抄报
网络技术开发哪里好
数据库 视图 弊端
vue前端代理多个服务器
明日之后千峰谷服务器下载
辽宁智慧安全教育展馆软件开发
什么是健入网络安全密钥
毕向东java数据库
自己软件开发的费用包括哪些
sql数据库日常维护