three dots
可変長引数を表す...
という記法。展開して渡す側、受け取り側で記述方法が混乱したので書いておく
sample.go
package main
import (
"fmt"
)
func main() {
holiDays("JUN")
holiDays("MAY", 3, 4, 5)
days := []int{1, 8}
holiDays("JAN", days...)
}
func holiDays(month string, days ...int) {
fmt.Println(month)
fmt.Println(days)
}
上記のようなコードの場合...
- 引数として受け取る場合は
days ...int
と型名の手前にthree dotsで記述する - sliceを展開して渡す場合は
days...
と記述する