src: http://research.swtch.com/godata
// don't do this
func foo(s *string) { fmt.Printf("The String: %s", *s) }
// do this
func foo(s string) { fmt.Printf("The String: %s", s) }
A string is a struct which contains a pointer to the underlying []byte
and the length. So if you pass a pointer to a string you'll have 2 pointers to dereference.