登录
首页 >  Golang >  Go问答

你可以使用原始或内置数据类型作为 golang 中的方法吗

来源:stackoverflow

时间:2024-04-19 09:36:29 109浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《你可以使用原始或内置数据类型作为 golang 中的方法吗》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我想知道我们是否能够使用内置数据类型作为 golang 中 func 的方法,因为每当我这样使用它时,它都会显示错误


正确答案


您可以通过首先用您自己的类型包装内置类型来定义方法,如下所示:

type myinteger int

func (my myinteger) tell() {
    fmt.println("i'm myinteger with value", my)
}

func main() {
    var my myinteger = 42
    my.tell()
}

你可以试试这个on the Go Playground,它会打印:

i'm myinteger with value 42

如果您想让内置类型实现接口,这可能很有用。例如,以下是 myinteger 如何实现 fmt.stringer 接口:

type MyInteger int

func (my MyInteger) String() string {
    return "MyInteger " + strconv.Itoa(int(my))
}

func main() {
    var my MyInteger = 42
    fmt.Println(my)
}

今天关于《你可以使用原始或内置数据类型作为 golang 中的方法吗》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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