普通函数–单个返回值 代码 package main import ( "fmt" ) func main(){ var a int = 100 var b int = 200 var ret int ret = max(a,b) fmt.Println("最大值是 = ",ret) } func max(num1,num2 int) int{ var result int if num1 > num2 { result = num1 }else { result = num2 } return result } 运行结果 普通函数–多个返回值 package main import ( "fmt" ) func swap(x,y string) (string,string){ return y,x; } func main(){ str1,str2 := "Mesmeyy","Marisly" fmt.Println("原来的字符串:",str1,str2) str1,str2 = swap(str1,str2) fmt.Println("后来的字符串",str1,str2) } 闭包函数 package main import ( "fmt" "strings" ) func makesuffix(suffix string) func(name string) string{ return func(name string) string{ if !strings.HasSuffix(name,suffix){ return name + suffix } return name } } func main(){ test := makesuffix(".jpg") fmt.Println("文件处理后:",test("go语言")) fmt.Println("文件处理后:",test("PHP.jpg")) } 运行结果