Are Golang function parameter passed as copy-on-write?
I've got the following function: func checkFiles(path string, excludedPatterns []string) { // ... } I'm wondering, since excludedPatterns 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? 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. Judging from the name of your function, performance can't be that critical to even