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.