Go语言入门21—参数的传递&&函数的返回值|Go主题月

参数的传递

  1. 值传递:传递的是数据的副本。修改数据,对于原始的数据没有影响。值类型的数据都是值传递:基本类型,array,struct
  2. 引用传递:传递的数据的地址,导致多个变量指向同一块内存。所有引用类型的数据,默认都是引用传递: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)
}

复制代码

image.png

函数的返回值

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
}
复制代码

image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享