title: Determine if struct is initialised
body: <p>If I have a hypothetical struct:</p>
  
  <pre><code>type Config struct {
          Server struct {
                  Host string
                  Port uint16
                  Timeout uint32
          }
  }
  </code></pre>
  
  <p>I want to know whether the Host and the Port are set or are defaulting (Host to "" and Port or Timeout to 0). Is there an efficient way to do this? Potentially using the reflect library?</p>
  
  <p>Also, I am assuming that "" and 0 are valid entries.</p>
  
  <p>Some background: I am using the gcfg library to read an INI style config file and want to know if someone has not set one of the configuration entries.</p>