发布时间:2024-11-22 06:14:58
func add(a, b int) int {
return a + b
}
上面的`add`函数接收两个整数参数`a`和`b`,返回它们的和。可以通过`add(1, 2)`来调用该函数,并返回结果`3`。
func full_name(first, last string) (string, string) {
return first, last
}
上面的`full_name`函数接收两个字符串参数`first`和`last`,并返回这两个参数的值。可以通过`full_name("John", "Doe")`来调用该函数,并返回结果`"John"`和`"Doe"`。
func() {
fmt.Println("Hello, world!")
}()
上面的匿名函数会立即执行,并输出`"Hello, world!"`。
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
上面的`sum`函数接收任意数量的整数参数,并返回它们的总和。可以通过`sum(1, 2, 3, 4)`来调用该函数,并返回结果`10`。
func callFunc(f func()) {
f()
}
func getFunc() func() {
return func() {
fmt.Println("Hello, world!")
}
}
上面的`callFunc`函数接收一个函数作为参数,并执行传入的函数。可以通过`callFunc(func() { fmt.Println("Hello") })`来调用该函数。
`getFunc`函数返回一个函数,可以通过`f := getFunc(); f()`来调用返回的函数,输出`"Hello, world!"`。
func multiplier(factor int) func(int) int {
return func(x int) int {
return x * factor
}
}
double := multiplier(2)
fmt.Println(double(3)) // 输出 6
上面的`multiplier`函数返回一个闭包,该闭包将`factor`乘以传入的参数并返回结果。可以通过`double := multiplier(2)`来创建一个闭包,并通过`double(3)`调用该闭包,输出结果`6`。
func factorial(n int) int {
if n == 0 {
return 1
}
return n * factorial(n-1)
}
上面的`factorial`函数计算一个非负整数的阶乘。递归终止条件是当传入的参数`n`为`0`时,返回`1`;否则,递归地调用`factorial(n-1)`来计算阶乘。
最后,希望本文对您理解和使用Golang函数有所帮助,并能在日常开发中充分发挥其优势。