Documentation

Overview

Package attributes defines a generic key/value store used in various gRPC components.

Experimental

Notice: This package is EXPERIMENTAL and may be changed or removed in a later release.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attributes

type Attributes struct {
	// contains filtered or unexported fields
}

    Attributes is an immutable struct for storing and retrieving generic key/value pairs. Keys must be hashable, and users should define their own types for keys.

    Example
    Output:
    
    Key one: 1
    Key two: two
    

    func New

    func New(kvs ...interface{}) *Attributes

      New returns a new Attributes containing all key/value pairs in kvs. If the same key appears multiple times, the last value overwrites all previous values for that key. Panics if len(kvs) is not even.

      func (*Attributes) Value

      func (a *Attributes) Value(key interface{}) interface{}

        Value returns the value associated with these attributes for key, or nil if no value is associated with key.

        func (*Attributes) WithValues

        func (a *Attributes) WithValues(kvs ...interface{}) *Attributes

          WithValues returns a new Attributes containing all key/value pairs in a and kvs. Panics if len(kvs) is not even. If the same key appears multiple times, the last value overwrites all previous values for that key. To remove an existing key, use a nil value.

          Example
          Output:
          
          Key one: 1
          Key two: two
          

          Source Files