2017-10-19 9 views
-3

私はgolangを使ってWebサーバーを構築しています。私はMVCアーキテクチャを使用しています。
静的メンバー関数を定義するにはどうすればよいですか?

ここでは、静的メンバー関数の作成方法はわかりません。

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){ 
    ... 
} 

しかし、Iドン:私も以下のような機能を必要とする、明らかに

type User struct{ 
    name string 
    password string 
} 


は例えば、私は私のモデルの一つとして、構造体Userをしましたすべての名前をリストする関数を作成する方法を知っていません。

User.listNames(); 

golangで同じことを行う方法:JavaやPythonでは、そのような機能は、この場合には、我々はこのように関数を呼び出すことができ、クラスUserの静的メンバ関数でなければなりませんか?あなたのパッケージからそれを呼び出す場合

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

、それは単にlistUserNames()

あなたのパッケージの外からそれを呼び出すとき、それがされるようになります。

+4

"golangで同じことをする方法は?"それはいけません。静的メンバー関数は、クラスが存在しないので、単にGoの_are_ _no_静的メンバー関数ではありません。しかし、あなたは機能について聞いたことがあるかもしれません。 – Volker

答えて

1

あなたは、単に通常の関数ではなく、メンバ関数を書きますあなたのパッケージ名の前に付いています。 (また、別のパッケージから呼び出すには、関数をpublicにする必要があります)

関連する問題