title: Golang are package block variables thread safe?
body: <p>According to the Go spec:</p>
  
  <p><em>"The scope of an identifier denoting a constant, type, variable, or function (but not method) declared at top level (outside any function) is the package block."</em></p>
  
  <p>Are package block variables thread safe? E.G. If I have a package block variable to store the current user for a web app:</p>
  
  <pre><code>var CurrentUser *string
  </code></pre>
  
  <p>Request 1 comes in: Set CurrentUser to "John"
  Request 2 comes in: Set CurrentUser to "Fred"</p>
  
  <p>In Request 1 what is the value of CurrentUser?</p>