返回顶部
首页 > 资讯 > 后端开发 > GO >获取外部/父结构名称
  • 171
分享到

获取外部/父结构名称

2024-04-05 00:04:02 171人浏览 泡泡鱼
摘要

珍惜时间,勤奋学习!今天给大家带来《获取外部/父结构名称》,正文内容主要涉及到等等,如果你正在学习golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正

珍惜时间,勤奋学习!今天给大家带来《获取外部/父结构名称》,正文内容主要涉及到等等,如果你正在学习golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

我面临一个golang初学者问题,我不知道如何正确解决它。你能帮我一下吗?

信息:尽管这违背了 go 的概念(不是试图成为一种 oop 语言),但我仍然想讨论一些解决方案。

我想知道接收者/子对象内的外部/父结构名称。请看下面的代码(演示:https://play.golang.org/p/h6darjqwids)

package main

import (
    "fmt"
    "reflect"
)

type Parent struct {
    Id uint32
}

func (p *Parent) GetStructName() string {
    return reflect.TypeOf(p).Elem().Name()
}


type Child struct {
    Parent
}


func main() {
    myChild := Child{}
    fmt.Println(myChild.GetStructName()) // Gives "Parent" instead of "Child". How to get "Child"?
}

它显示“parent”,尽管该结构是“child”。谁能告诉我如何获得正确的结构名称?我在另一个 stackoverflow 主题中看到了一个“正确”工作的“解决方案”(go - 获取父结构),但我认为这不是一个好的解决方案。


解决方案


GetStructNameParent 类型的方法,而不是 Child,而且 Golang 没有继承,而是有结构嵌入(也有接口嵌入),这有点像继承,但有一个关键区别:

这基本上意味着,当您调用 GetStructName 时,该方法的接收者是 Parent (内部或嵌入类型),而不是 Child

这与典型的类继承根本不同,它解释了您所看到的行为。

有详细记录 here。

本篇关于《获取外部/父结构名称》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 获取外部/父结构名称

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

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

猜你喜欢
  • 获取外部/父结构名称
    珍惜时间,勤奋学习!今天给大家带来《获取外部/父结构名称》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正...
    99+
    2024-04-05
  • 获取实现接口或继承结构的结构名称
    php小编柚子为大家介绍一种获取实现接口或继承结构的结构名称的方法。在编程中,我们经常需要获取一个类实现了哪些接口或继承了哪些结构。通过使用反射机制,我们可以轻松地获得这些信息。只需使...
    99+
    2024-02-10
  • 如何通过名称获取结构体的属性?
    偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何通过名称获取结构体的属性?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看...
    99+
    2024-04-04
  • wordpress实现获取父类分类名称的方法
    本文实例讲述了wordpress实现获取父类分类名称的方法。分享给大家供大家参考。具体分析如下: 在wordpress中获取父类分类名的方法说法有很多种,如:获取当前ID父类名等等这里就不介绍了,下面我来介绍几种获取父类...
    99+
    2022-06-12
    wordpress 获取 父类 分类 名称 方法
  • 获取不带类型参数的泛型结构的类型名称
    php小编草莓在这篇文章中将向大家介绍如何获取不带类型参数的泛型结构的类型名称。泛型是一种强大的编程技术,可以在不指定具体类型的情况下编写通用的代码。然而,有时我们可能需要获取泛型结构...
    99+
    2024-02-13
    typedef overflow
  • pandas dataframe获取所有行名称与列名称
    1.获取dataframe行名称 pandas中,dataframe获取行名称,可以有如下两种方式。 def check_rows(): data = { 'name': ['a'...
    99+
    2023-09-04
    pandas 行名称 列名称
  • java怎么获取sheet名称
    在 Java 中使用 Apache POI 库来操作 Excel 文件,可以通过以下代码获取 sheet 的名称: import o...
    99+
    2024-03-11
    java
  • 如何使用名称具有包名称的嵌套结构来启动 go 结构
    问题内容 我有一个 go 结构体定义如下: type record struct { events.apigatewayproxyrequest `json:...
    99+
    2024-02-06
  • php怎么获取方法名称
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php获取方法名称使用魔术常量__FUNCTION____FUNCTION__:当前函数(或方法)的名称;<php header("Content-ty...
    99+
    2017-07-18
    php 方法名
  • python获取Linux发行版名称
    我必须从python脚本中获取linux发行版名称。dist平台模块中有一个方法: import platform platform.dist() 但在我的Arch Linux下它返回: >>&g...
    99+
    2022-06-04
    python linux 发行版名称
  • jquery如何获取标签名称
    使用jquery获取标签名称的方法:1.新建html项目,引入jquery;2.创建p标签,设置id属性;3.添加button按钮,绑定onclick点击事件;4.通过id获取标签对象,使用prop(tagName)方法获取标签名称;具体步...
    99+
    2024-04-02
  • php如何获取方法名称
    这篇文章主要介绍了php如何获取方法名称的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何获取方法名称文章都会有所收获,下面我们一起来看看吧。获取方法:1、使用“__FUNCTION__”,可获取当前方法...
    99+
    2023-06-29
  • java怎么获取线程名称
    在Java中,可以通过Thread类的getName()方法来获取线程的名称。例如: Thread t = new Thread()...
    99+
    2024-03-14
    java
  • python-pymysql获取字段名称-获取内容方式
    目录python-pymysql获取字段名称-获取内容获取字段名称-获取内容若只执行 results = cursor.fetchall()python代码获取mysql字段名和注释...
    99+
    2023-05-19
    python pymysql pymysql获取字段名称 pymysql获取内容
  • Python获取网卡信息(名称、MAC、
        “人生苦短,我用Python”。Python的高效有一部分是跟它丰富的模块分不开的。Python有很多第三方模块可以帮助我们完成一些事情,减少开发时间。Python pypi库中一个模块名字叫“netifaces”,使用C语言写的一...
    99+
    2023-01-31
    网卡 名称 信息
  • mybatis怎么获取数据库名称
    在MyBatis中,获取数据库名称可以通过以下方式之一:1. 通过数据库连接对象获取数据库名称:```javaConnection ...
    99+
    2023-08-19
    mybatis 数据库
  • go中如何获取页面名称?
    哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《go中如何获取页面名称?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起...
    99+
    2024-04-05
  • 如何获取表结构
    本篇内容主要讲解“如何获取表结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何获取表结构”吧!一、介绍我记得最早刚步入互联网行业的时候,当时按照 MVC 的...
    99+
    2024-04-02
  • labview如何获取变体元素名称
    在LabVIEW中,可以使用Variant类型的Get Variant Attribute节点来获取变体元素的名称。下面是使用该节点...
    99+
    2023-09-26
    labview
  • Android12 (S) 获取wifi名称(SSID)的方法
    目录 概述问题分析总结 概述 在最近开发过程中需要获取当前wifi的SSID,目前网上一般推荐 mWifiManager.getConnectionInfo() 这个方法来进行获取,但是发现在Android12上这个方法已经被标...
    99+
    2023-08-18
    java android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作