Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

Go | Named Results

概要

Go は関数の戻り値に複数の値を戻すことが出来ますが、
この際に戻り値に名前を与えることで、変数のように扱うことができます。
この文法を Named Results と呼びます。

サンプルコード

package main

import "fmt"

func main() {
	ret1, ret2 := useNamedResults("msg1", "msg2")
	fmt.Println(ret1, ret2)
	fmt.Println(useNamedResults("msg3", "msg4"))
}

func useNamedResults(message1, message2 string) (ret1, ret2 string) {
	ret1 = message1 + "-hoge"
	ret2 = message2 + "-hige"
	return
}

出力

$ go run named_results.go
msg1-hoge msg2-hige
msg3-hoge msg4-hige