title: Can't return nil, but zero value of slice
body: <p>I am having the case in which a function with the following code:</p>
  
  <pre><code>func halfMatch(text1, text2 string) []string {
      ...
      if (condition) {
           return nil // That's the final code path)
      }
      ...
  }
  </code></pre>
  
  <p>is returning <code>[]string(nil)</code> instead of nil. At first, I thought that perhaps returning <code>nil</code> in a function with a particular return type would just return an instance of a zero-value for that type. But then I tried a simple <a href="http://play.golang.org/p/SLxcRyavm7" rel="nofollow">test</a> and that is not the case.</p>
  
  <p>Does anybody know why would <code>nil</code> return an empty string slice?</p>