Golang 戻り値を表す変数

Golangでは戻り値に変数を割り当てることができる。

package main

import "fmt"

func doSomething() (a int) {
    return
}

func main() {
    fmt.Println(doSomething())
}

実行すると結果は0が返ってくる。

returnは何も返していないように見えるが以下のコードの省略だと考えれば良い。

func doSomething() int {
    var a int
    return a
}

var a int によって割り当てた変数aを初期化して関数の戻り値にするよいう一連の処理を、関数の戻り値の型に変数名を書くだけで済ませている。

関数内のローカル変数定義を短縮することができる。