如何定义静态成员函数?

时间:2017-10-19 10:53:36

标签: oop go static member

我正在使用golang构建一个Web服务器。我正在使用MVC架构。

现在我不知道如何制作静态成员功能。

例如,我有一个结构User作为我的模特之一:

type User struct{
    name string
    password string
}

显然,我还需要以下功能:

func (user User)addUser(){
    conn := ConnToDB()
    query = "insert into user (name, password) values ('" + user.name + "', '" + user.password + "');"
    conn.execute(query)
}
func (user User)changeNameById(id int){
    ...
}

但是,我不知道如何创建列出所有名称的功能。在Java或Python中,这样的函数应该是类User的静态成员函数,在这种情况下我们可以像这样调用函数:

User.listNames();

如何在golang中做同样的事情?

1 个答案:

答案 0 :(得分:1)

您只需编写常规函数,而不是成员函数:

data.frame

从您的软件包中调用它时,它只是func listUserNames() []string { ... }

从您的软件包外部调用它时,它将以您的软件包名称为前缀。 (此外,您必须将该函数设置为public才能从另一个包中调用它)