go函数在一个http过程中被多次调用,如果避免多次执行

fancyecommerce · · 1983 次点击
package main import( "fmt" "math/rand" ) func main() { var i int64 a(&i) fmt.Println(i) a(&i) fmt.Println(i) a(&i) fmt.Println(i) } func a(a *int64) error { if *a == 0 { *a = int64(rand.Int()) } return nil }
#10
更多评论
如果是php,我可以存储到对象变量里面,各个PHP http 是不会影响的 go,貌似函数外部的包变量,每次http访问,都是可以相互访问的。
#1
难道解决的方式,就是http 请求要结束的事情,清空变量x的值?这样应该也不行 ``` var x int64 func goo(st string) int64{ if x !=0 { return x } if st == "A" { x := 1+2+3+...+100000 // 这里是一系列的计算 } else { x := 1+2+3+...+200000 // 这里是一系列的计算 } return x // 这里是一些逻辑,计算的值赋值给result } ```
#2