関数の引数・戻り値が多い場合は、メソッドを使おう
こんにちは、こんばんは、138nonoです。
goを作る時に、ついつい引数・戻り値が多くなってしまう時はありませんか?
若輩の私はよくあります。
そんな時、使うのがメソッドです。
メソッドの使い方は、こんな感じです。
package main
import "fmt"
type something struct {
num int
characters string
}
func main() {
something := new(something)
something.num = 5
something.characters = "Gopher"
fmt.Println(something.num, "\n", something.characters)
something.do()
fmt.Println(something.num, "\n", something.characters)
}
func (anything *something) do() {
anything.num *= 2
anything.characters = "Hello World"
}
結果
関数の前に構造体を渡してあげるだけで、結果も戻ってくれます。
構造体を使うことによって、簡単にオブジェクト指向になります。
勿論、引数・戻り値も設定してあげることが出来ます。
関数だけでもシステムとしては成り立ちますが、コードの可読性、つまり、保守・運用性に欠ける場合があります。
場合に合わせて、関数かメソッドを使うかを適切に決めましょう。
1人で全てやってしまう、システムなら、良いですが、現在はチームで作るシステムが普通になっています。
また、少し時間が経つと、自分のコードを忘れてしまうこともよくあります。
(私自身、見返すとクソコードやなぁとよく思います…)
最初は難しいですが、慣れて来たら、誰かに見せる意識でコードを書くを書くのが良いと思います。