介绍go函数、函数作为变量、匿名函数、可变参数、闭包

package main

import "fmt"

func main() {
	// 一般的方法调用
	A(1, "睡觉")
	// 可变参数
	B(5, 6, 7)

	// 方法作为变量
	c := C
	c()

	//匿名函数
	d := func() {
		fmt.Println("匿名函数")
	}
	d()

	//闭包
	f := myclosure(10)
	fmt.Println(f(1))
	fmt.Println(f(2))
}
func A(a int, b string) (e int, f string, g bool) {
	fmt.Println(a, b)
	e = 10
	f = "ok"
	g = true
	return e, f, g
}

// 不定个数的参数,相当于可变参数(注意,不定长度变参必须放在最后一个参数)
func B(a ...int) {
	fmt.Println(a[0])
	fmt.Println(a[1])
	fmt.Println(a[2])
	fmt.Println(a)
}

func C() {
	fmt.Println("方法C")
}

func myclosure(x int) func(int) int {
	return func(y int) int {
		return x + y
	}
}


你可能感兴趣的文章