广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Golang怎么判断结构体是否存在某方法
  • 641
分享到

Golang怎么判断结构体是否存在某方法

2023-07-04 16:07:38 641人浏览 泡泡鱼
摘要

这篇“golang怎么判断结构体是否存在某方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang怎么判断结构体是否存

这篇“golang怎么判断结构体是否存在某方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang怎么判断结构体是否存在某方法”文章吧。

go 判断结构体是否有某个方法

go 有时需要判断某个结构体是不是有某个方法,但是可能突然就一脸茫然,go 也可以像 PHP 那样判断

是的,虽然 go 没有提供现成的方法,但是可以用已有的逻辑来封装实现。

目前能用的方式有两种,一种是知道完整的方法可以用接口断言方式判断,第二种就是用反射来完成判断。

准备需要判断的结构体:

type  RefData  struct  {}func  (this  *RefData)  Show(data  any,  name  string)  string  {  data2  :=  data.(string)  +  "==="  +  name  return  data2}

接口断言判断:

refDataExists := falsevar refDataOb any = &RefData{}if _, ok := refDataOb.(interface {    Show(any, string) string}); ok {    refDataExists = true}

反射判断:

import(  "reflect")// 判断结构体方法是否存在func MethodExists(in any, method string) bool {    if method == "" {        return false    }    p := reflect.TypeOf(in)    if p.Kind() == reflect.Pointer {        p = p.Elem()    }    // 不是结构体时    if p.Kind() != reflect.Struct {        return false    }    object := reflect.ValueOf(in)    // 获取到方法    newMethod := object.MethodByName(method)    if !newMethod.IsValid() {        return false    }    return true}// 使用refDataExists := MethodExists(&RefData{},  "Show")

以上就是关于“Golang怎么判断结构体是否存在某方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网GO频道。

您可能感兴趣的文档:

--结束END--

本文标题: Golang怎么判断结构体是否存在某方法

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Golang怎么判断结构体是否存在某方法
    这篇“Golang怎么判断结构体是否存在某方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang怎么判断结构体是否存...
    99+
    2023-07-04
  • Go语言如何判断结构体是否存在某方法
    这篇文章主要介绍了Go语言如何判断结构体是否存在某方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言如何判断结构体是否存在某方法文章都会有所收获,下面我们一起来看看吧。go 有时需要判断某个结构体是不是...
    99+
    2023-07-05
  • Golang判断结构体是否存在某方法的两种方式(附代码示例)
    本篇文章带大家学习一下Golang,聊聊Golang怎么判断结构体是不是有某个方法,希望对大家有所帮助。go 判断结构体是否有某个方法go 有时需要判断某个结构体是不是有某个方法,但是可能突然就一脸茫然,go 也可以像 php 那样判断是的...
    99+
    2023-05-14
    Golang
  • Go语言怎么判断结构体是否存在某方法?两种方式介绍
    Go语言怎么判断结构体是否存在某方法?下面本篇文章给大家介绍一下Golang判断结构体是否存在某方法的两种方式(附代码示例),希望对大家有所帮助!go 有时需要判断某个结构体是不是有某个方法,但是可能突然就一脸茫然,go 也可以像 php ...
    99+
    2023-05-14
    Golang go语言
  • golang怎么判断文件是否存在
    在Golang中,可以使用os.Stat()函数来判断文件是否存在。 首先,导入os包: import "os" 然后,使用os.S...
    99+
    2023-10-23
    golang
  • java怎么判断JSONObject是否存在某个Key
    在Java中,你可以使用JSONObject的`has`方法来判断一个JSONObject对象是否存在某个key。`has`方法接受...
    99+
    2023-08-16
    java
  • php怎么判断某个值是否存在数组中?方法浅析
    在php开发中,我们常常需要判断数组中是否存在某个值,以便按需进行相关操作。接下来,本文将通过实例演示,介绍判断某个值是否存在数组中php的相关用法。一、使用in_array函数进行判断在php中,可以使用in_array函数判断一个值是否...
    99+
    2023-05-14
  • mfc怎么判断是否存在某一文件夹
    在MFC中,可以使用CFileFind类来判断是否存在某一文件夹。以下是一个示例代码:```cppBOOL IsFolderExis...
    99+
    2023-10-10
    mfc
  • java怎么判断数组中是否存在某值
    在Java中,可以使用循环遍历数组来判断数组中是否存在某个值。具体的方法如下:1. 使用for循环遍历数组,依次取出每个元素。2. ...
    99+
    2023-09-16
    java
  • java中怎么判断JSONObject是否存在某个Key
    本文小编为大家详细介绍“java中怎么判断JSONObject是否存在某个Key”,内容详细,步骤清晰,细节处理妥当,希望这篇“java中怎么判断JSONObject是否存在某个Key”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-02
  • php怎么判断数组中是否存在某个值
    在PHP编程中,数组是一种非常常见的数据类型,它可以存储多个值,并且这些值可以是不同的数据类型。在实际开发中,我们经常需要对数组进行各种操作,其中包括判断一个值是否在数组中。下面我们就来讨论一下PHP中判断数组中是否存在某个值的方法。in_...
    99+
    2023-05-14
  • jquery怎么判断元素是否存在某个属性
    今天就跟大家聊聊有关jquery怎么判断元素是否存在某个属性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在jquery中,可以利用attr()方法...
    99+
    2022-10-19
  • php怎么判断数组里是否存在某些值
    在 PHP 中,当我们需要判断一个数组是否包含某些值时,我们可以使用 in_array() 函数,该函数用于在数组中查找指定的值,并返回布尔值(true 或 false)。以下是该函数的语法:bool in_array ( mixed $n...
    99+
    2023-05-14
  • java判断目录是否存在的方法是什么
    在Java中,判断目录是否存在的方法是使用`File`类的`exists()`方法。具体操作如下:import java.io.Fi...
    99+
    2023-05-13
    java判断目录 java
  • js怎么判断是否是数组的六种方法小结
    目录instanceofArray.isArray()constructor构造函数toStringisPrototypeOfgetPrototypeOfinstanceof 主要用...
    99+
    2023-02-10
    js 判断是否是数组 js 判断数组
  • JS判断对象属性是否存在的方法是什么
    这篇文章主要介绍了JS判断对象属性是否存在的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS判断对象属性是否存在的方法是什么文章都会有所收获,下面我们一起来看看吧。背景在这篇Accessible O...
    99+
    2023-06-29
  • 怎么判断数据库表是否存在以及修改表名的方法
    本篇内容主要讲解“怎么判断数据库表是否存在以及修改表名的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么判断数据库表是否存在以及修改表名的方法”吧!一、判...
    99+
    2022-10-18
  • php怎么判断一个值是否在数组(4种方法)
    在 PHP 中判断一个值是否在数组中,是开发过程中经常会遇到的问题。使用 PHP 中的各种内置函数,可以快速判断一个值是否在数组中,这篇文章将向您介绍常用的几种方法。一、in_array 函数PHP 的 in_array 函数可以判断一个值...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作