1. package main
    2. import "fmt"
    3. //单个返回值
    4. func foo1(a int, b string) int {
    5. fmt.Println("a=",a)
    6. fmt.Println("b=",b)
    7. c := 100
    8. return c
    9. }
    10. //多个返回值,都是匿名
    11. func foo2(a int, b string) (int,int){
    12. fmt.Println("a=",a)
    13. fmt.Println("b=",b)
    14. return 100,200
    15. }
    16. //多个返回值,有形参名
    17. func foo3(a int, b string) (r1 int,r2 int){
    18. fmt.Println("a=",a)
    19. fmt.Println("b=",b)
    20. fmt.Println("赋值前:r1=",r1,",r2=",r2)
    21. //给有名称的返回值变量赋值
    22. r1 = 300
    23. r2 = 400
    24. return
    25. }
    26. //多个返回值,同种类型缩写
    27. func foo4(a int, b string) (r1,r2 int){
    28. fmt.Println("a=",a)
    29. fmt.Println("b=",b)
    30. fmt.Println("赋值前:r1=",r1,",r2=",r2)
    31. //给有名称的返回值变量赋值
    32. r1 = 300
    33. r2 = 400
    34. return
    35. }
    36. func main() {
    37. fmt.Println("foo1 ---------------------------")
    38. c := foo1(1,"bb")
    39. fmt.Println("c=",c)
    40. fmt.Println("foo2 ---------------------------")
    41. d,e := foo2(1,"bb")
    42. fmt.Println("d=",d)
    43. fmt.Println("e=",e)
    44. fmt.Println("foo3 ---------------------------")
    45. r1,r2 := foo3(1,"bb")
    46. fmt.Println("r1=",r1)
    47. fmt.Println("r2=",r2)
    48. }