package main

import "fmt"

func sumandproduct(A, B int) (int, int) {
	return A + B, A * B
}
func main() {
	x := 3
	y := 4
	xPLUSy, xTIMEy := sumandproduct(x, y)
	fmt.Printf("%d+%d = %d\n", x, y, xPLUSy)
	fmt.Printf("%d*%d =%d\n", x, y, xTIMEy)
}

上面的例子我们可以看到返回了两个参数,当然我们也可以命名返回参数的变量,这个例子里面只是有了两个类型,我们有可以改成如下的定义,然后返回的时候不用带上变量名,因为直接在函数里面初始化了。但你的函数如果是导出的,使用命名返回值,这样代码更加简洁

func  sumandproduct(A,B int)(add int ,multiplied int) {

add = A +B 

multiplied = A *B

return

}

go函数支持变参,接受变参的函数是有着不定数量的参数的。为了做到这点,首先需要定义函数使其接受参数,

fun myfunc(agr ...int){}

age ...int 告诉go这个函数接受不定数量的参数。注意,这些参数类型全部都是int

for  _,n := range arg {

fmt.printf("And the number is : %d\n",n)

}

传真与传指针

当我们传