github.com/aavshr/aws-sdk-go@v1.41.3/service/dynamodb/dynamodbattribute/fields_go1.9.go (about) 1 //go:build go1.9 2 // +build go1.9 3 4 package dynamodbattribute 5 6 import "sync" 7 8 var fieldCache fieldCacher 9 10 type fieldCacher struct { 11 cache sync.Map 12 } 13 14 func (c *fieldCacher) Load(t interface{}) (*cachedFields, bool) { 15 if v, ok := c.cache.Load(t); ok { 16 return v.(*cachedFields), true 17 } 18 return nil, false 19 } 20 21 func (c *fieldCacher) LoadOrStore(t interface{}, fs *cachedFields) (*cachedFields, bool) { 22 v, ok := c.cache.LoadOrStore(t, fs) 23 return v.(*cachedFields), ok 24 }