1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
| package main
import ( "fmt" "math" )
func main(){ func(){ fmt.Println("jonson") }()
func(data int){ fmt.Println("data:",data) }(5)
result:=func(data float64) float64{ return math.Sqrt(data) }(9)
fmt.Println("result:",result)
greet:=func(){ fmt.Println("greet jonson") } greet()
fmt.Printf("greet的類型是%T\n",greet)
greetjonson()
makejonson := makeGreeter()
fmt.Printf("類型:%T,返回值:%v\n",makejonson,makejonson())
makeeven := makeEvenGenerator()
fmt.Println("makeeven i = ",makeeven()) fmt.Println("makeeven i = ",makeeven()) fmt.Println("makeeven i = ",makeeven())
visit([]int{1,2,3,4},func(n int){ fmt.Println(n+1) })
fmt.Println(factorial(5))
var i uint = 0 for ;i<20;i++{
fmt.Println(fabicc(i))
} }
func greetjonson(){ x:=0
increment:= func() int{ x++ return x }
fmt.Println(increment()) fmt.Println(increment()) }
func makeGreeter() func() string{
return func() string { return "hello jonson" } }
func makeEvenGenerator() func() int{ i:=0 return func() int{ i+=2 return i } }
func visit(numbers []int,callback func(int)){
for _,n :=range numbers{ callback(n) } }
func factorial(x uint) uint{
if x==0{ return 1 } return x * factorial(x-1) }
func fabicc(x uint) uint{
if(x==0){ return 0 } if(x==1){ return 1 }
return fabicc(x-2) + fabicc(x-1) }
|