title: Conditional Compilation not working
body: <p>OS: linux/amd64<br>
  GO: 1.5.1</p>
  
  <p>When running (<code>go run *.go</code>) the below code I get the following error and I don't understand what I'm doing wrong. I've read the <a href="https://golang.org/pkg/go/build/#hdr-Build_Constraints" rel="nofollow">official doc</a> about build constrains. Shouldn't <code>foo_windows.go</code> be ignored?</p>
  
  <pre><code># command-line-arguments
  ./foo_windows.go:3: hello redeclared in this block
          previous declaration at ./foo_linux.go:3
  </code></pre>
  
  <p><strong>main.go</strong></p>
  
  <pre><code>package main
  
  import "fmt"
  
  func main() {
      fmt.Println(hello())
  }
  </code></pre>
  
  <p><strong>foo_linux.go</strong></p>
  
  <pre><code>package main
  
  func hello() string {
      return "hello form linux"
  }
  </code></pre>
  
  <p><strong>foo_windows.go</strong></p>
  
  <pre><code>package main
  
  func hello() string {
      return "hello form windows"
  }
  </code></pre>