So it looks like in Go a string instance is 2 words long where the first word is a pointer to the actual string data and the second word is the length of the string data. This works since strings are immutable, so when you pass a string and it gets copied it's really just copying 2 words worth of data and not the entire string. Pretty neat way of handling it and means that passing strings around is even cheaper than passing slices (which it looks like are 3 words long).

http://research.swtch.com/godata