Golang教程-Go函数

Go函数
Go语言中的函数是构建程序的基本组成部分。函数用于将大问题分解为更小的任务,实现代码的模块化和可重用性。在Go语言中,有三种类型的函数:
- 普通函数:具有标识符的函数,可以通过函数名进行调用和执行。
- 匿名函数或Lambda函数:没有标识符的函数,可以直接定义并使用,通常用于需要临时执行的代码块。
- 方法:带有接收器的函数,可以通过特定类型的值调用,用于实现类型的方法集。
函数的参数、返回值以及它们的类型共同构成函数的签名。
在Go语言中,不允许在一个函数内部声明另一个函数。如果需要在函数内部定义函数,可以使用匿名函数来实现这一点。匿名函数可以在需要时直接定义,并且可以在其所在的函数内部被调用和执行。这为我们提供了更灵活的代码编写方式。
Go函数示例
package main
import "fmt"
type Employee struct {
fname string
lname string
}
func (emp Employee) fullname(){
fmt.Println(emp.fname+" "+emp.lname)
}
func main() {
e1 := Employee{ "John","Ponting"}
e1.fullname()
}
输出:
John Ponting
Go带返回值的函数
让我们看一个带返回值的函数示例。
package main
import (
"fmt"
)
func fun() int {
return 123456789
}
func main() {
x := fun()
fmt.Println(x)
}
输出:
123
Go带多个返回值的函数
让我们看一个函数示例,该函数以n个int类型的参数为参数并返回两个int值。返回值在调用函数时使用并行赋值填充到调用函数中。
Go函数多重返回示例
package main
import (
"fmt"
)
func main() {
fmt.Println(addAll(10,15,20,25,30))
}
func addAll(args ... int)(int,int) {
finalAddValue:=0
finalSubValue:=0
for _,value := range args{
finalAddValue += value
finalSubValue -= value
}
return finalAddValue,finalSubValue
}
输出:
100 -100