在我的RESTFUL网络服务中,这是一个在线游戏,我正在像这样在全局变量中存储每个问题的开始时间:
实际上,我熟悉Golang的
更新: 好的,我像这样解决了我的问题。 我将时间变量定义为
请注意,Load()方法返回接口,因此您应该在末尾写(time.Time)以将其转换为time.Time类型。
var MyTime time.Time
。在每个游戏级别之后,我需要更新它。我的应用程序是分布式的,所以我想确保所有应用程序不同时更新它。这就是为什么我决定将其设置为原子的。实际上,我熟悉Golang的
sync/atomic
包。我尝试使用atomic.LoadPointer()
方法,但它需要特定的参数类型而且不安全。你有其他方法吗?更新: 好的,我像这样解决了我的问题。 我将时间变量定义为
atomic.Value
并使用原子加载和存储方法。这是代码:
var myTime atomic.Value
myTime.Store(newTime)
和加载myTime.Load().(time.Time)
。请注意,Load()方法返回接口,因此您应该在末尾写(time.Time)以将其转换为time.Time类型。