最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • 如何在 Golang 中将函数附加到结构体

    如何在 golang 中将函数附加到结构体

    如果您来自其他语言,例如 php、c#、dart 等,您会熟悉为类创建方法。通常这些方法为该类实现一个操作。在此类 oop 语言中,您可以在类范围内创建此类方法,例如:

    class classname{
    ....
     function functionname(){
      // perform action
    }
    }
    

    在 go 中,您首先创建一个结构体,然后您可以附加接收器来对该结构体执行特定操作。例如,我们有一个模型 user,我们希望它有一个返回用户全名的方法,如下所示:

    type myuser struct{
     firstname string
    lastname string
    postalcode string
    dateofbirth time.time
    }
    

    上面我们刚刚创建了一个具有各种属性(例如 firstname、lastname ….)的 user 类型,我们希望有一个方法可以为 ‘myuser’ 类型执行一些特殊操作,在本例中只需返回所述的全名属性 名字,姓氏.

    我们可以创建一个返回字符串的接收函数全名。

    func (user *myuser) fullname() (string, string){
       return user.firstname ,user.lastname
    }
    
    

    我们如何使用这个?我们可以直接在主函数中测试它,看看它是如何工作的:

    func main() {
    
        user := myuser{
            firstname: "felix",
            lastname:  "chi",
        }
        fmt.println(user.fullname())
    
    }
    

    因此,我们已经成功地为 myuser 结构创建了一个接收器方法。完整的颂歌看起来像这样:

    package main
    
    import (
        "fmt"
        "time"
    )
    
    type myUser struct {
        FirstName   string
        LastName    string
        PostalCode  string
        DateOfBirth time.Time
    }
    
    func (user *myUser) fullname() (string, string) {
        return user.FirstName, user.LastName
    }
    
    func main() {
    
        user := myUser{
            FirstName: "Felix",
            LastName:  "chi",
        }
        fmt.Println(user.fullname())
    
    }
    

    那么接下来呢?继续将代码粘贴到 https://go.dev/play/ 上,看看它是如何真正工作的。请在我的下一篇文章中看到…!!!!!

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » 如何在 Golang 中将函数附加到结构体
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 294稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情