Go言語:関数
関数の話
関数は、
- 0個以上の引数をとる。
- 同じ型の引数の場合は、型の指定をまとめられる。
- 変数の宣言と同じ。
- 同じ型の引数の場合は、型の指定をまとめられる。
- 0個以上の返り値を返す。
- 返り値がある場合には、返り値の型を指定する、とも言える。
- Javaなどでいうところの
void
の場合は、返り値の型の指定がない。 - 2個以上の返り値を帰す場合は、カンマで区切って、型を指定する。
- 返り値の宣言に名前がついていた場合、その名前の変数を自動的に返す。
return
ステートメントにパラメータを指定しなくて良い。
- 引数を含む変数や、関数の型は、名前の後に書く。
- ここに説明されているとのこと。
ためしに
% GOPATH=$PWD go run src/sample.go 2014-12-28 17:06:56.68090307 +0900 JST INFO : STARTED 2014-12-28 17:06:57.682449936 +0900 JST INFO : SLEEPED 2014-12-28 17:06:58.683631753 +0900 JST INFO : FINISHED
返り値パラメータを指定した場合、
‐ 新しい変数としては扱われない。
- :=
を使えないので、=
を使う。
- :=
を使った場合は、コンパイル時にエラーする。
% GOPATH=$PWD go run src/sample.go # command-line-arguments src/sample.go:29: no new variables on left side of := src/sample.go:30: no new variables on left side of := src/sample.go:31: no new variables on left side of :=