reflection representation of var as opposed to an interface.
<p>I am trying to understand the representation of a reflection value:</p>

<pre><code>type S struct {
    F string `species:"gopher" color:"blue"`
}

var x float64 = 3.4
v := reflect.ValueOf(x)     
fmt.Println("v = ", v)     // v = 3.4


s := S{}
ss := reflect.ValueOf(s)
fmt.Println("ss = ", ss)   // ss = {}   
</code></pre>

<p>I understand that the representation of a reflection interface value is a two-word pair that gives a pointer to type information and a pointer to the associated value.</p>

<p>What is the reflection representation of a variable. Is it just the value and if so, how is the type determined by code below:</p>

<pre><code>fmt.Println("type:", reflect.TypeOf(x))
</code></pre>

<p>If the representation is just value, as it appears to be, where does the code above find the type information?  </p>