title: Performance of function slice parameter vs global variable?
body: <p>I've got the following function:</p>
  
  <pre><code>func checkFiles(path string, excludedPatterns []string) {
      // ...
  }
  </code></pre>
  
  <p>I'm wondering, since <code>excludedPatterns</code> never changes, should I optimize it by making the var global (and not passing it to the function every time), or does Golang already handle this by passing them as copy-on-write?</p>
  
  <p>Edit: I guess I could pass the slice as a pointer, but I'm still wondering about the copy-on-write behavior (if it exists) and whether, in general, I should worry about passing by value or by pointer.</p>