2017-10-19 286 views
-3

我正在使用golang来构建一个web服务器。我正在使用MVC体系结构。
如何定义静态成员函数?

现在我不知道如何使静态成员函数。

例如,我有一个struct 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?

+4

“如何在golang中做同样的事情?”你不能。在Go中只有_no_静态成员函数,因为没有类。但你可能听说过功能。 – Volker

回答

1

您只需编写一个普通的功能,而不是一个成员函数:

func listUserNames() []string { 
    ... 
} 

当你的软件包调用它,它只会是listUserNames()

当你的软件包之外调用它,它会以您的包裹名称为前缀。 (此外,您必须公开该功能才能从另一个包中调用它)

相关问题