Go语言学习-- No.10 函数 ---- 函数中的可变参数

函数中的可变参数

  • 可变参数的函数格式

可变参数的函数格式

函数声明时可以没有固定数量的参数。

func 函数名 (固定参数列表,v ...T ) (返回参数列表) {
   函数体
}

或者 

func 函数名 (固定参数列表, slice ... 类型)(返回值类型){
	函数流程 
}
  • 可变参数一般放在函数参数列表的末尾,也可不存在固定参数列表。
  • “v …T”代表的其实就是变量v为T类型的切片,v和T之间为三个“.”。

举例:

package main

import "fmt"

func myfunc(x int, y int, slice ...int) (sum int, sub int, slice_sum int) {
	sum = x + y
	sub = x - y
	for _, value := range slice {
		slice_sum = slice_sum + value
	}

	return sum, sub, slice_sum

}

func main() {
	x, y := 6, 2
	f1 := myfunc
	sum, sub, slice_sum := f1(x, y, 1, 2, 3, 4)
	fmt.Println(sum)
	fmt.Println(sub)
	fmt.Println(slice_sum)

}

// 8
// 4
// 10

说明一下:在本案例中,

  • x, y 为固定的参数,是必须要对其进行赋值,且固定参数为2个;
  • sum, sub 是固定参数经过运算后得到的结果
  • slice_sum 是可变参数 … 经过运算得到的值,可变参数的个数是不固定的。

你可能感兴趣的:(go语言学习,golang,开发语言,后端)