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

fancyecommerce · · 1997 次点击
另外,每一个http ,本质是一个goroutines,函数外部的变量赋值是不能直接设置的,是不安全的,需要通过channel通信。 因此,对于函数外部的变量,如果只读,是没有问题的,如果涉及到写,那么需要用channel保证并发安全
#7
更多评论
如果是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