返回顶部
首页 > 资讯 > 后端开发 > GO >继承语法。有什么不同?
  • 134
分享到

继承语法。有什么不同?

2024-04-05 00:04:00 134人浏览 八月长安
摘要

积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《继承语法。有什么不同?》,就带大家

积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《继承语法。有什么不同?》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

Go 中,下面的区别是什么?

我尝试搜索,但找不到合适的术语来描述它们。他们的正式名称是怎样的?

#1 - 结构内部的父级:

type mytime struct {
    time.time
}

#2 - 在我的类型之后没有结构定义的父级:

type MyTime time.Time

对于#2,我可以用另一个时间来初始化我的类型。像 mt := mytime(t) 这样的时间。 如何用另一个 time.time 变量初始化 #1 类型?


解决方案


go 不是面向对象的语言,没有类型层次结构和继承。详情请参见What is the idiomatic way in Go to create a complex hierarchy of structs?和Go embedded struct call child method instead parent method。

您的第一个示例创建一个新类型 mytime embedding time.time。通过嵌入类型,嵌入类型的所有字段和方法都会提升,并且可以像嵌入器类型的字段或方法一样使用,例如,当您想要实现接口时非常方便(因为提升的方法将“存在”而无需声明它们)。

您可以像这样实例化它(有关详细信息,请参阅Golang embedded struct type):

t := mytime{time: time.now()}

您的第二个示例创建一个类型,所有方法都将从其中剥离。当您不希望现有方法成为新类型的一部分时,这会很方便。一个典型的例子是定义 string() 方法或在您想要在实现中调用原始行为时覆盖编组行为,有关详细信息,请参阅 Call JSON.Unmarshal inside UnmarshaljsON function without causing stack overflow。您可以使用简单的类型转换创建它的值:

t := MyTime(time.Now())

本篇关于《继承语法。有什么不同?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 继承语法。有什么不同?

本文链接: https://lsjlt.com/news/596531.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 继承语法。有什么不同?
    积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《继承语法。有什么不同?》,就带大家...
    99+
    2024-04-05
  • javascript继承方法有什么
    本篇内容介绍了“javascript继承方法有什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!javascript继承方法有:1、使用ca...
    99+
    2023-06-14
  • es6继承和es5继承有什么区别
    这篇文章给大家分享的是有关es6继承和es5继承有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 es5和es6继承的区别: ES5的继承是通...
    99+
    2024-04-02
  • C++私有继承方法是什么
    本篇内容介绍了“C++私有继承方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.访问基类方法我们知道,在私有继承时,基类的公有对象...
    99+
    2023-06-28
  • VB.NET继承有什么用
    这篇文章主要介绍了VB.NET继承有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。现实生活中子女继承父母的产业,那是必然的,在编程中我们也常常用子类继承父类的特性,VB...
    99+
    2023-06-17
  • python继承有什么好处
    这篇文章主要讲解了“python继承有什么好处”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python继承有什么好处”吧!说明子类获得了父类的所有功能。因为Animial实现了run()方...
    99+
    2023-06-20
  • C++私有继承是什么
    本篇内容介绍了“C++私有继承是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.私有继承通过私有继承,我们可以实现一种has-a的关系...
    99+
    2023-06-29
  • C++ 函数继承详解:什么时候不应使用继承?
    在以下情况下不应使用 c++++ 函数继承:派生类需要不同实现时,应创建具有不同实现的新函数。派生类不需要函数时,应声明为一个空类或使用私有、未实现的基类成员函数来禁用函数继承。函数不需...
    99+
    2024-05-04
    c++ 继承
  • 为什么Java不支持多继承
    这篇文章主要介绍“为什么Java不支持多继承”,在日常操作中,相信很多人在为什么Java不支持多继承问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么Java不支持多继承”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-15
  • Java中继承有什么危害
    这篇文章主要讲解了“Java中继承有什么危害”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中继承有什么危害”吧!  大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends ...
    99+
    2023-06-03
  • Javascript中类式继承和原型式继承有什么区别
    这篇文章主要介绍了Javascript中类式继承和原型式继承有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在所有面向对象的编程中,...
    99+
    2024-04-02
  • C++深入探究不同的继承体系
    目录单继承多继承菱形继承概念存在的问题解决方案菱形虚拟继承虚拟继承什么是虚拟继承内存层面理解虚拟继承虚拟继承和普通单继承的区别虚拟继承+菱形继承声明: 本文的测试环境为Windows...
    99+
    2024-04-02
  • 浅谈C++不同继承之间的关系
    目录公有继承:“是一个” 的关系派生类与基类:继承关系中的构造函数与析构函数继承关系中拷贝构造函数继承关系中赋值运算符的重载通过组合体现 “有一个...
    99+
    2023-05-16
    C++继承关系
  • 什么是Java继承
    本篇内容主要讲解“什么是Java继承”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是Java继承”吧!一、继承的概念什么是继承在现实生活中,继承指的是子女继承父辈的财产。在程序中,当一个类A...
    99+
    2023-06-15
  • java不能被继承的类是什么类
    JAVA中被 final 标志的类,是最终类,不可以被继承,如:public 、final 、String。JAVA继承的介绍:继承是面向对象最显著的一个特性,继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的...
    99+
    2016-10-22
    java
  • css中有什么属性可以继承
    这篇文章将为大家详细讲解有关css中有什么属性可以继承,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css可以继承的属性:color、font、quotes、cursor、page、windows、tex...
    99+
    2023-06-14
  • css继承性是什么
    这篇“css继承性是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“css继承性是什么”...
    99+
    2024-04-02
  • python语法基础-初始化/继承
    写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承) 初始化: 1.在程序执行时一定执行一次的操作 2.python中初始化init 参数第一个必须要加self 3....
    99+
    2023-01-30
    初始化 语法 基础
  • Python进阶语法之类的继承
    目录一、子类的方法__init__( )创建一个Car类创建子类ElelctricCar二、给子类定义属性和方法三、重写父类的方法总结 在编写类时,我们并非每次都需要从空白开始。 如...
    99+
    2024-04-02
  • js中继承方法有哪些
    这篇文章主要为大家展示了“js中继承方法有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中继承方法有哪些”这篇文章吧。js的原型继承 --  ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作