登录
首页 >  Golang >  Go问答

实现切片的接口

来源:stackoverflow

时间:2024-02-15 18:15:16 108浏览 收藏

你在学习Golang相关的知识吗?本文《实现切片的接口》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

在玩go时,我遇到了一个问题:是否可以实现切片的接口?我无法在任何地方找到答案。我尝试了以下方法但没有成功:

type t1 struct {
    prop string
}

type i1 interface {
    toString() string
}

//ok
func (o t1) toString() {
    return o.prop
}

// ERROR invalid receiver []i1 (basic or unnamed type)compiler(InvalidRecv)
func (o []i1) toString() {
}

// ERROR invalid receiver []t1 (basic or unnamed type)compiler(InvalidRecv)
func (o []t1) toString() {
}

正确答案


您无法为切片定义方法。您可以从切片定义一个新类型,并为其定义一个方法:

type t1slice []t1

func (o t1slice) tostring() {
}

然后你可以这样做:

var arr []t1
t1Slice(arr).toString()

今天关于《实现切片的接口》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>