[Go言語]関数に可変長引数のサンプル

2022年1月23日

書式
func funA(変数名 …データ型) データ型 {
処理コード
}
「…」 の記法で可変長引数を実装します。
使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package main
import "fmt"
func funA(i ...int) int {
fmt.Println("***計算結果******")
fmt.Println(i)
sum := 0
for _, v := range i {
sum += v
}
return sum
}
func main() {
fmt.Println(funA())
fmt.Println("一つの引数")
fmt.Println(funA(3))
fmt.Println("二つの引数")
fmt.Println(funA(4, 5))
fmt.Println("三つの引数")
fmt.Println(funA(6, 7, 8))
//配列
kk := []int{3, 4, 5, 6}
fmt.Println(funA(kk...))
}
package main import "fmt" func funA(i ...int) int { fmt.Println("***計算結果******") fmt.Println(i) sum := 0 for _, v := range i { sum += v } return sum } func main() { fmt.Println(funA()) fmt.Println("一つの引数") fmt.Println(funA(3)) fmt.Println("二つの引数") fmt.Println(funA(4, 5)) fmt.Println("三つの引数") fmt.Println(funA(6, 7, 8)) //配列 kk := []int{3, 4, 5, 6} fmt.Println(funA(kk...)) }
package main

import "fmt"

func funA(i ...int) int {
      fmt.Println("***計算結果******")
      fmt.Println(i)
      sum := 0
      for _, v := range i {
            sum += v
      }
      return sum
}

func main() {
      fmt.Println(funA())
    fmt.Println("一つの引数")
      fmt.Println(funA(3))
      fmt.Println("二つの引数")
      fmt.Println(funA(4, 5))
      fmt.Println("三つの引数")
      fmt.Println(funA(6, 7, 8))
    //配列
      kk := []int{3, 4, 5, 6}
      fmt.Println(funA(kk...))

}

実行結果
***計算結果******
[]
0
一つの引数
***計算結果******
[3]
3
二つの引数
***計算結果******
[4 5]
9
三つの引数
***計算結果******
[6 7 8]
21
***計算結果******
[3 4 5 6]
18

Go言語

Posted by arkgame