I would prefer to pass potentially large arrays to standard functions that only take an array type, by reference, to avoid copying the array each time.
For example the crypto/sha256
packages Sum256()
function https://golang.org/src/crypto/sha256/sha256.go?s=5634:5669#L244:
func Sum256(data []byte) [Size]byte
My data
could be large and I am worried about copying by value.. Looks like I can pass a slice and the compiler is happy with that but I'm unsure if that will still copy the underlying array by value..