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 PontingGo带返回值的函数
让我们看一个带返回值的函数示例。
package main  
import (  
   "fmt"  
)  
func fun() int {  
   return 123456789  
}  
func main() {  
   x := fun()  
   fmt.Println(x)  
}  
输出:
123Go带多个返回值的函数
让我们看一个函数示例,该函数以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