教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang检测结构体是否实现了接口的方法

golang检测结构体是否实现了接口的方法

发布时间:2021-04-15   编辑:jiaochengji.com
教程集为您提供golang检测结构体是否实现了接口的方法等资源,欢迎您收藏本站,我们将为您提供最新的golang检测结构体是否实现了接口的方法资源

      假设我们定义了一个NestPreparer接口,并且定义了一个baseController结构体,那么如何判断结构体baseController是否实现了NestPreparer接口的方法呢? 话不多说先上代码:

type NestPreparer interface {
        NestPrepare()
}

// baseRouter implemented global settings for all other routers.
type baseController struct {
        beego.Controller
        i18n.Locale
        user    models.User
        isLogin bool
}

1.用传说中的接口查询或类型断言去检测,代码如下:

// Prepare implemented Prepare method for baseRouter.
func (this *baseController) Prepare() {

        if app, ok := this.AppController.(NestPreparer); ok {
                app.NestPrepare()
        }
}

2.用var定义变量检测,如果编译通过,则实现了接口的方法,如果编译通不过则未实现接口方法

var _ NestPreparer = &baseController{} 

 

 

到此这篇关于“golang检测结构体是否实现了接口的方法”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang检测结构体是否实现了接口的方法
如何判断Golang接口是否实现?
go 接口与动态类型
go struct 成员变量后面再加个字符串是什么意思?_Go语言的学习笔记(第十章) 接口...
Golang学习——如何判断Golang接口是否实现?
golang学习之结构体,方法,接口
Go语言基础之接口(面向对象编程下)
一看就懂系列之Golang的接口
golang 结构体断言_Golang的面向对象编程【结构体、方法、继承、接口】-Go语言中文社区...
浅谈golang中的接口

[关闭]
~ ~