值传递和引用传递

package main

import "fmt"



func addtest1(x,y int) int  {
	x = x + 1
	y = y + 1
	return x + y
}

func addtest2(x, y *int) int {
	*x = *x + 1
	*y = *y + 1
	return *x + *y
}

func main()  {
	a := 4
	b := 5

	// 值传递
	fmt.Println(addtest1(a, b)) // 11 
	fmt.Println("a is",a) // 4
	fmt.Println("b is",b) // 5

	//引用传递
	fmt.Println(addtest2(&a, &b)) // 12
	fmt.Println("a is",a) // 5
	fmt.Println("b is",b) // 6
}

  

原文地址:https://www.cnblogs.com/jkklearn/p/15677998.html