default_context.go
func (d *DefaultContext) Value(key interface{}) interface{} {
	if k, ok := key.(string); ok {
		d.moot.RLock()
		defer d.moot.RUnlock()
		if v, ok := d.data[k]; ok {
			return v
		}
	}
	return d.Context.Value(key)
}
func (d *DefaultContext) Value(key interface{}) interface{} {
	if k, ok := key.(string); ok {
		d.moot.RLock()
		defer d.moot.RUnlock()
		if v, ok := d.data[k]; ok {
			return v
		}
	}
	return d.Context.Value(key)
}
// Value that has previously stored on the context.