golang

函数声明 Link to heading

golang函数声明和其他语言类似,关键字为func。只要有参数和返回值就必须指定类型,一个函数可以有多个参数和返回值

package main

func add(a int32, b int32) (c int32) {
	return a + b
}

func reduce(a int32, b int32) int32 {
	return a - b
}

func square(a int64, b int64) (c int64, d int64) {
	c = a * a
	d = b * b
	return
}

func main() {}

函数调用 Link to heading

golang函数调用和其他语言类似,用小括号扩起来,括号里面是参数

package main

func add(a int32, b int32) (c int32) {
	return a + b
}

func reduce(a int32, b int32) int32 {
	return a - b
}

func square(a int64, b int64) (c int64, d int64) {
	c = a * a
	d = b * b
	return
}

func main() {
	c := add(5, 7)
	e, f := square(7, 5)

	print("5 + 7 = ", c, "\n")
	print("7,5 square is ", e, "\t", f, "\n")
}

匿名函数 Link to heading

匿名函数是没有函数名的特殊函数,一个匿名函数在定义后可以被立即调用。go中所有函数都可以访问其作用域中变量,这样的函数称为闭包

package main

func add(a int32, b int32) (c int32) {
	return a + b
}

func main() {
	c := add(5, 7)

	func(a int64, b int64) {
		print("a: ", a, "\n", "b: ", b, "\n")
		print("c: ", c, "\n")
	}(34, 67)
}

内置函数 Link to heading

Go支持一些内置函数,比如前面的例子中已经用到过多次的println和print函数。 我们可以不引入任何库包而调用一个内置函数。

print("")
println("")