go言語 関数の引数の数を可変にする

  • 作成日 2021.06.13
  • 更新日 2022.10.28
  • go
go言語 関数の引数の数を可変にする

go言語で、可変な引数を使用できる関数のサンプルコードを記述してます。go言語のバージョンは1.15.4を使用してます。

環境

  • OS windows10 pro 64bit
  • go言語 1.15.4

可変引数使い方

go言語では、引数の数を可変にしても使用すること可能です。

func 関数名(引数 ...型) 型

以下は、可変な引数を使用して、1~10までの数値型の合計値を出力するサンプルコードとなります。

package main

import "fmt"

func sum(num ...int) int {
	result := 0
	for _, i := range num {
		result += i
	}
	return result
}

func main() {
	fmt.Println(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) // 55
}

以下のようにスライスを使用して記述することも可能です。

package main

import "fmt"

func sum(num ...int) int {

	result := 0
	for _, i := range num {
		result += i
	}
	return result
}

func main() {

	num := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

	fmt.Println(sum(num...)) // 55
}