Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go语言的面向对象

Go语言的面向对象

作者头像
JavaEdge
发布于 2021-02-22 05:39:32
发布于 2021-02-22 05:39:32
2740
举报
文章被收录于专栏:JavaEdgeJavaEdge

go语言仅支持封装,不支持继承和多态。 go语言没有class,只有struct。

结构的定义

  • go 语言即使是指针,不像 C语言使用->也可一直使用.引用下去
  • go 没有构造器,但可使用工厂函数

那么这到底创建在了堆还是栈呢? 不需要知道。如果返回了没人用就在栈上 如果返回了有人用,就在堆,并参与到 GC。 所以没必要知道,编译器自己都知道。

参数前后区别

  • 参数定义在函数名前后有啥区别呢?
  • 使用区别

Go都是值传递,记住了,和 Java 一样。

使用指针作为方法接收者

  • 只有使用指针才可以改变结构内容
  • nil 指针也可调用方法(Go 很特殊)

值接收者 V.S 指针接收者

  • 要改变内容必须使用指针接收者
  • 结构过大也考虑使用指针接收者
  • 一致性:如有指针接收者,最好都是指针接收者

值接收者才是go语言特有的! 值/指针接收者均可接收值/指针

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go 专栏|说说方法
最近又搬家了,已经记不清这是第几次搬家了。搬到了公司附近,走路十分钟,以后加班可方便了。
AlwaysBeta
2021/09/07
2970
Go 专栏|说说方法
看球学习两不误 看世界杯 学面向对象
前面的基础打的差不多了,基础部分其实很多语言都大同小异,但是接下来的可是面向对象语言独有的知识了,这是java中最核心最重要的部分,没有之一。关于面向对象的一些概念,我在前面有篇文章简单的提了一下,没看过的同学快去补课(传送门:关于面向对象 女神告诉你什么是三大特性)。
用户5745563
2019/07/04
2370
看球学习两不误 看世界杯 学面向对象
go语言基础6-面向对象
面向对象特点 go语言仅支持封装,不支持继承和多态 go语言没有class,只有struct 结构体 实例 type treeNode struct { value int left ,right *treeNode } var root treeNode{ root = treeNode{1,nil,nil} root.left = &treeNode{2,nil,nil} root.right = &treeNode{} root.right.l
吐吐吐吐吐葡萄皮
2019/04/04
4300
go语言基础6-面向对象
第四章 面向对象
第一天: go对象的基础. 如何创建结构体, 方法, 构造方法(工厂函数), 接收者模式
用户7798898
2020/09/27
3710
第四章 面向对象
Google资深工程师深度讲解Go语言–面向对象(四)[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111719.html原文链接:https://javaforall.cn
全栈程序员站长
2022/02/17
2100
Google资深工程师深度讲解Go语言–面向对象(四)[通俗易懂]
面试必备(背)--Go语言八股文系列!
满足强三色不变性:黑色节点不允许引用白色节点 当黑色节点新增了白色节点的引用时,将对应的白色节点改为灰色
微客鸟窝
2021/11/12
6.7K0
面试必备(背)--Go语言八股文系列!
Golang深入浅出之-Go语言方法与接收者:面向对象编程初探
Go语言虽然没有类和传统的继承机制,但通过其独特的“方法”与“接收者”机制,依然提供了强大的面向对象编程能力。本文将深入浅出地探讨Go语言方法与接收者,揭示其中的常见问题、易错点,并通过代码示例阐述如何避免这些问题。
Jimaks
2024/04/25
1710
GO语言实战之类型的本质
「 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波」
山河已无恙
2023/01/30
4170
Go语言入门——进阶语法篇(三)
Go语言虽然存在指针,但是远比C语言指针简单,且Go语言基本指针不能直接进行指针运算。
arcticfox
2019/08/20
5960
Go语言实战笔记(八)| Go 函数方法
在Go语言中,函数和方法不太一样,有明确的概念区分。其他语言中,比如Java,一般来说,函数就是方法,方法就是函数,但是在Go语言中,函数是指不属于任何结构体、类型的方法,也就是说,函数是没有接收者的;而方法是有接收者的,我们说的方法要么是属于一个结构体的,要么属于一个新定义的类型的。
飞雪无情
2018/08/28
4460
如何使用Go语言写出面向对象风格的代码
面向对象程序设计是一种计算机编程架构,英文全称:Object Oriented Programming,简称OOP。OOP的一条基本原则是计算机程序由单个能够起到子程序作用的单元或对象组合而成,OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。OOP=对象+类+继承+多态+消息,其中核心概念就是类和对象。
Golang梦工厂
2022/07/11
3900
Go语言——方法
⽅法总是绑定对象实例,并隐式将实例作为第⼀实参 (receiver),方法的语法如下:
传说之下的花儿
2023/04/16
2590
Java的面向对象
一个人,每一个人都完成一部分,注重谁来做,重在找“参与者”,强调具备功能的对象,以类/对象为最小单位。
楠羽
2022/11/18
6930
Java的面向对象
18.Go面向对象-方法
type Integer int:表示的意思是给int类型指定了一个别名叫Integer,别名可以随便起,只要符合GO语言的命名规则就可以。
Devops海洋的渔夫
2022/01/17
2360
18.Go面向对象-方法
Golang入门教程——面向对象篇
今天是golang专题的第9篇文章,我们一起来看看golang当中的面向对象的部分。
TechFlow-承志
2020/06/24
3780
【JAVA基础&高级】 面向对象篇
由于近期需要用到基础以及底层的一些知识点,所以借此机会找来了一些学习的资料,用于对 JAVA 面向对象相关的知识点进行复盘、巩固,并且在此将一些重点的知识点做相关的记录,在后续的实际开发工作中遇到这些知识点相关的内容都会在本篇笔记中进行记录、迭代。
LCyee
2020/08/10
3820
转--从面向对象的角度看Go语言与Java语言的区别
Go语言风格 GO语言是支持并发编程和内存垃圾回收的编译型静态类型语言,运行效率高,具有较强的可伸缩性(scalable)。它是为软件工程服务而进行的语言设计,强制语言规范。GO语言的面向对象编程非常简洁优雅,没有继承,隐藏的this指针等。它的面向对象是语言类型系统中的天然的一部分。整个类型系统通过接口串起来浑然一体。 Go语言与JAVA语言的区别 类型系统:JAVA中有两套完全独立的类型系统,一套是值类型系统,byte、int、boolean、char、double另一套是以object类型为根的对象类
李海彬
2018/03/21
1.4K0
Go语言:理解函数、方法和指针
在Go语言中,函数和方法都是可执行的代码块,但它们有一个重要的区别:函数是独立的,而方法是依赖于特定类型的。此外,Go语言还对方法接收者的类型(值类型或指针类型)有独特的处理,这是本文的重点。我们将以详细的代码示例来揭示这些概念。
运维开发王义杰
2023/08/10
1850
Go语言:理解函数、方法和指针
GO语言实战之函数与方法
「 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡更可怕的事。--------王小波」
山河已无恙
2023/03/02
1800
【JavaSE学习】Day4JavaSE面向对象 (上) 看这三篇就够了
        Day1 JavaSE环境配置         Day2 JavaSE基础语法         Day3 JavaSE数组         Day4 JavaSE面向对象(上)         Day5 JavaSE面向对象(中)         Day6 JavaSE面向对象(下)         Day7 JavaSE面向对象          Day8 JavaSE异常处理         Day9 JavaSE多线程         Day10 JavaSE集合         Day11 JavaSE泛类         Day12 JavaSEIO流         Day13 JavaSE反射
小小程序员
2023/02/24
3170
【JavaSE学习】Day4JavaSE面向对象 (上) 看这三篇就够了
相关推荐
Go 专栏|说说方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档