参数的传递
- 值传递:传递的是数据的副本。修改数据,对于原始的数据没有影响。值类型的数据都是值传递:基本类型,array,struct
- 引用传递:传递的数据的地址,导致多个变量指向同一块内存。所有引用类型的数据,默认都是引用传递:slice,map,chan
package main
import "fmt"
func main() {
arr1:=[4]int{1,2,3,4}
fmt.Println("函数调用前,数组的数据:",arr1)
fun2(arr1)
fmt.Println("函数调用后,数组的数据:",arr1)
fmt.Println("************************")
s1:=[]int {1,2,3,4}
fmt.Println("函数调用前,切片的数据:",s1)
fun3(s1)
fmt.Println("函数调用后,切片的数据:",s1)
}
func fun2(arr2 [4]int ) {
fmt.Println("函数中,数组的数据:",arr2);
arr2[0]=100
fmt.Println("函数中,数组的数据修改后:",arr2)
}
func fun3(s2 []int) {
fmt.Println("函数调用中,切片的数据:",s2)
s2[0]=100
fmt.Println("函数中,切片数据修改后:",s2)
}
复制代码
函数的返回值
package main
import "fmt"
func main() {
/*
函数的返回值:
一个函数的执行结果,返回给函数的调用处。执行结果就叫做函数的返回值。
return语句:
一个函数的定义上有返回值,那么函数中就必须使用return语句,将结果返回给调用出。
*/
//1.设计一个函数,用于求1-10的和,将结果在主函数中打印输出
sum:=getSum2()
fmt.Println("1-10的和:",sum)
fmt.Println(getSum3())
}
//定义一个函数,带返回值
func getSum2() int {
sum:=0;
for i:=1;i<=10;i++ {
sum+=i
}
return sum;
//fmt.Println("1-10的和",sum)
}
//第一个括号,参数列表;第二个括号,返回值及类型
func getSum3()(sum int) {
fmt.Println("函数中:",sum)
return
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END