Implement fmt.Stringer for atomic types (#76)

Add safe `String()` methods for atomic types that replicate the same
behavior as `fmt.Sprintf("%v", x.Load())` without the allocations.

As with json.Marshaler/Unmarshaler, we've omitted the `atomic.Value`
type for now.

Resolves #50
This commit is contained in:
Abhinav Gupta
2020-05-14 16:26:08 -07:00
committed by GitHub
parent 982a2dde23
commit ddc304d531
13 changed files with 143 additions and 0 deletions

View File

@@ -20,6 +20,11 @@
package atomic
// String returns the wrapped value.
func (s *String) String() string {
return s.Load()
}
// MarshalText encodes the wrapped string into a textual form.
//
// This makes it encodable as JSON, YAML, XML, and more.