Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Initializer

type Initializer func() (interface{}, error)

    Initializer initializes the value

    type Value

    type Value struct {
    	sync.RWMutex
    	// contains filtered or unexported fields
    }

      Value implements a Future Value in which a reference is initialized once (and only once) using the Initialize function. Only one Go routine can call Initialize whereas multiple Go routines may invoke Get, and will wait until the reference has been initialized. Regardless of whether Initialize returns success or error, the value cannot be initialized again.

      func New

      func New(initializer Initializer) *Value

        New returns a new future value

        func (*Value) Get

        func (f *Value) Get() (interface{}, error)

          Get returns the value and/or error that occurred during initialization.

          Example
          Output:
          
          Value1
          

          func (*Value) Initialize

          func (f *Value) Initialize() (interface{}, error)

            Initialize initializes the future value. This function must be called only once. Subsequent calls may result in deadlock.

            func (*Value) IsSet

            func (f *Value) IsSet() bool

              IsSet returns true if the value has been set, otherwise false is returned

              func (*Value) MustGet

              func (f *Value) MustGet() interface{}

                MustGet returns the value. If an error resulted during initialization then this function will panic.

                Example
                Output:
                
                Value1
                

                Source Files