如何定义静态成员函数?
How do I define a static member function?
我正在使用 golang 构建网络服务器。我正在使用 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中,这样的函数应该是classUser
的静态成员函数,此时我们可以这样调用函数:
User.listNames();
如何在golang中做同样的事情?
你只需写一个普通函数,而不是成员函数:
func listUserNames() []string {
...
}
当从你的包中调用它时,它只是 listUserNames()
当从你的包外调用它时,它会以你的包名作为前缀。 (此外,您必须创建函数 public 才能从另一个包中调用它)
我正在使用 golang 构建网络服务器。我正在使用 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中,这样的函数应该是classUser
的静态成员函数,此时我们可以这样调用函数:
User.listNames();
如何在golang中做同样的事情?
你只需写一个普通函数,而不是成员函数:
func listUserNames() []string {
...
}
当从你的包中调用它时,它只是 listUserNames()
当从你的包外调用它时,它会以你的包名作为前缀。 (此外,您必须创建函数 public 才能从另一个包中调用它)