title: What is the string after the name and type in a struct in Golang?
body: <p>I am looking at <a href="https://godoc.org/k8s.io/api/core/v1#Secret" rel="nofollow noreferrer">https://godoc.org/k8s.io/api/core/v1#Secret</a></p>
  
  <pre><code>type Secret struct {
      metav1.TypeMeta `json:",inline"`
      // Standard object's metadata.
      // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
      // +optional
      metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
  
      // Data contains the secret data. Each key must consist of alphanumeric
      // characters, '-', '_' or '.'. The serialized form of the secret data is a
      // base64 encoded string, representing the arbitrary (possibly non-string)
      // data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
      // +optional
      Data map[string][]byte `json:"data,omitempty" protobuf:"bytes,2,rep,name=data"`
  
      // stringData allows specifying non-binary secret data in string form.
      // It is provided as a write-only convenience method.
      // All keys and values are merged into the data field on write, overwriting any existing values.
      // It is never output when reading from the API.
      // +k8s:conversion-gen=false
      // +optional
      StringData map[string]string `json:"stringData,omitempty" protobuf:"bytes,4,rep,name=stringData"`
  
      // Used to facilitate programmatic handling of secret data.
      // +optional
      Type SecretType `json:"type,omitempty" protobuf:"bytes,3,opt,name=type,casttype=SecretType"`
  }
  </code></pre>
  
  <p>Take 
  <code>Data map[string][]byte `json:"data,omitempty" protobuf:"bytes,2,rep,name=data"`
  </code> for example, I know <code>Data</code> is the name and <code>map[string][]byte</code> is the type, what is the third thing that follows? What does it do and when is it necessary to include this third thing?</p>