go语言之函数接收可变实参数(即实参个数是可变的),你会写吗

 //函数是组织好的,可重复使用的,用来执行特定功能的代码块
//格式如下:
func 函数名(形参)(返回值){
    函数体
}

//函数名可由字母,数字,下划线组成,但开头不能是数字
//go语言函数若是没有返回值,可以省略不写,go语言函数允许返回多个值,与c语言不同
//go语言不支持默认形参

package main

import "fmt"



//4.函数接收可变参数(即实参个数是可变的),在形参名后面加...表示可变参数
//可变参数在函数体内其实是切片
func function4(lbd ...int) int { //lbd此时是切片
	sum := 0
	for _, value := range lbd { //切片的for-range循环
		sum += value
	}
	return sum

}

// 4.1如果固定参数和可变参数同时出现,可变参数要放在后面
func function4_1(a int, lbd ...int) int { //lbd此时是切片,a为普通固定形参
	sum := a
	for _, value := range lbd { //切片的for-range循环
		sum += value
	}
	return sum

}

func main() {
	
	//4
	sum1 := function4() //可变参数可以不赋值
	sum2 := function4(10)
	sum3 := function4(10, 20)
	sum4 := function4(10, 20, 30)
	fmt.Println("function4的值可以是", sum1, sum2, sum3, sum4)
	//4.1
	sum5 := function4_1(10) //因为有固定形参,必须给实参
	sum6 := function4_1(10, 50, 60)
	fmt.Println("有固定参数和可变参数的", sum5, sum6)

}

运行结果如下:

function4的值可以是 0 10 30 60
有固定参数和可变参数的 10 120

好温柔的风哦

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

76博ding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值