Go语言的函数02---参数
package main
import "fmt"
/*
常量,变量,函数---源代码的成员
给成员命名的字符称之为【标识符】
合法的标识符有:大小写字母,数字,下划线
命名时不能以数字开头
*/
func Add0() {
fmt.Println("Add0")
}
/*有参函数*/
func Add1(arg int) {
fmt.Println("Add1", arg)
}
/*多个参数,同种类型*/
func Add2(a int, b int) {
sum := a + b
fmt.Println("参数之和是", sum)
}
func Add3(a, b int) {
sum := a + b
fmt.Println("参数之和是", sum)
}
/*多个参数,不同类型*/
func Add4(a, b int, c float64, d float64) {
aFloat := float64(a)
bFloat := float64(b)
sum := aFloat + bFloat + c + d
fmt.Println("参数之和是", sum)
}
/*
不定长参数
args 接受任意多个整型参数
*/
func Add5(args ...int) {
fmt.Println(args)
fmt.Printf("args 的类型是%T\n", args)
/*
使用内建函数len()求args的长度
内建函数(buildin function)是指无需主语,直接调用的函数
*/
fmt.Printf("args 的长度是%d\n", len(args))
//遍历不定长参数中的每一个数据
for i := 0; i < len(args); i++ {
// args[i]是参数中第i个数据
fmt.Printf("args中第%d个参数是%v\n", i, args[i]) // []int 整型切片(一种数据容器)
}
//求和
var sum int
for i := 0; i < len(args); i++ {
sum += args[i]
}
fmt.Printf("参数求和为:%d\n", sum)
}
/*
定长参数和不定长参数混用
不定长参数只能有一个
不定长参数必须在最后一个
*/
func Add6(a, b int, args ...float64) {
aFloat := float64(a)
bFloat := float64(b)
sum := aFloat + bFloat
for i := 0; i < len(args); i++ {
sum += args[i]
}
fmt.Printf("参数之和:%f\n", sum)
}
func main() {
Add4(1, 2, 3, 4)
Add5(1, 2, 3, 4, 7)
Add6(1, 2, 3, 4, 10)
}
输出:
参数之和是 10 [1 2 3 4 7] args 的类型是[]int args 的长度是5 args中第0个参数是1 args中第1个参数是2 args中第2个参数是3 args中第3个参数是4 args中第4个参数是7 参数求和为:17 参数之和:20.000000

浙公网安备 33010602011771号