Go言語:関数

関数の話

関数は、

  • 0個以上の引数をとる。
    • 同じ型の引数の場合は、型の指定をまとめられる。
      • 変数の宣言と同じ。
  • 0個以上の返り値を返す。
    • 返り値がある場合には、返り値の型を指定する、とも言える。
    • Javaなどでいうところのvoidの場合は、返り値の型の指定がない。
    • 2個以上の返り値を帰す場合は、カンマで区切って、型を指定する。
  • 返り値の宣言に名前がついていた場合、その名前の変数を自動的に返す。
  • 引数を含む変数や、関数の型は、名前のに書く。
    • ここに説明されているとのこと。

ためしに

関数:引数と返り値

% 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 :=