在Go中用类型声明替换包装结构

我想regexp从Go标准库中进行扩展,以便能够定义自己的方法。我使用以下结构:


type RichRegexp struct {

    *regexp.Regexp

}

如您所见,此结构只包含wrapd regexp.Regexp。所以我想知道是否可以用一个简单的类型声明来代替它:


type RichRegexp regexp.Regexp

但是,我该如何编写以下函数呢?


func Compile(expression string) (*RichRegexp, error) {

    regex, err := regexp.Compile(expression)

    if err != nil {

        return nil, err

    }

    return &RichRegexp{regex}, nil // How to do this?

}

我尝试转换regexp.Regexp为我的文件RichRegexp,但未编译。返回包装基本类型的自定义类型的一般模式是什么?


扬帆大鱼
浏览 229回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go