title: What are the implications of using the "go" version directive within a go module file (go.mod)
body: <p>Given the following go.mod file:</p>
  
  <pre><code>module foo
  
  go 1.12
  
  require (
      github.com/bar/baz v1.0.0
      github.com/rat/cat v1.0.0
  )
  </code></pre>
  
  <p>What does the <code>go 1.12</code> indicate? Does it prevent compiling the <code>foo</code> module against any other version of Go? Or is it simply an indicator of the <code>foo</code>'s recommended/required Go version? Is this a directive that we should update whenever a new version of go is released (every 6 months)?</p>