【GO】函数:函数参数

代码地址

https://github.com/fangkang7/goLearn.git

案例1

这是我们封装的第一个案例,只是单纯多个参数。这里的参数方式跟PHP是有点出入的,PHP里是不需要写值类型的,但是在go中就必须要写, 不写无法编译
在这里插入图片描述

案例2:同类型的参数合并

这里可以看到sum是传入了俩个整形的参数

sum1传入的是俩个同类型的参数
在这里插入图片描述

案例三:不定长的参数

这里传入的是一个不定长的a参数 打印出来类型发现是一个整形指针
在这里插入图片描述
我们在来做一下运算
在这里插入图片描述
运用另外一种循环方式
在这里插入图片描述

代码

package main

import "fmt"

func main() {
	//sayHello("kaka", 10)
	//Sum(12, 35)
	//Sum1(12, 35)
	Sum2(3, 4, 5, 6)
}

/**
不定长的参数
*/
func Sum2(a ...int) {
	// a的类型是[]int,a的值是[3 4 5 6]
	fmt.Printf("a的类型是%T,a的值是%v\n", a, a)
	result := 0
	//for i := 0; i < len(a); i++ {
	//	result += a[i]
	//}
	// 这里需要介绍一个点那就是当我们使用不到index时,可以使用_来代替
	for _, value := range a {
		result += value
	}
	// 所有值的和为 18
	fmt.Println("所有值的和为", result)
}

/**
同种类型参数合并声明
*/
func Sum(a int, b int) {
	fmt.Printf("a与b的和是%d\n", a+b)
}

/**
同种类型参数合并声明
*/
func Sum1(a, b int) {
	fmt.Printf("a与b的和是%d\n", a+b)
}

/**
多个参数
切记参数需要传入类型  这里跟PHP有点出入
*/
func sayHello(name string, count int) {
	for i := 0; i < count; i++ {
		fmt.Println("hello", name)
	}
}

博主微信欢迎交流

在这里插入图片描述

发布了859 篇原创文章 · 获赞 131 · 访问量 67万+

猜你喜欢

转载自blog.csdn.net/fangkang7/article/details/104915815