Byte arrays and strings have some key differences, the main one being byte arrays/slices are mutable, while strings are immutable. My guess is many places byte arrays are returned have to do with that, and the ability to efficiently change the size of the array without allocating new memory. So, if you're reading from a unix socket and you don't know how much data you're going to read (the case with both the examples above) it's probably faster to use a byte array rather than re-allocate a larger string every time you read more data from the socket.
This could be misleading to people unfamiliar with Go. The underlying structure of strings are byte arrays, which is why you have to be careful when you loop over a string because it'll give you byte-by-byte not character-by-character.
My guess is many places byte arrays are returned have to do with that, and the ability to efficiently change the size of the array without allocating new memory.
Byte arrays are used because they can be unmarshalled, whereas strings cannot.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Byte arrays and strings have some key differences, the main one being byte arrays/slices are mutable, while strings are immutable. My guess is many places byte arrays are returned have to do with that, and the ability to efficiently change the size of the array without allocating new memory. So, if you're reading from a unix socket and you don't know how much data you're going to read (the case with both the examples above) it's probably faster to use a byte array rather than re-allocate a larger string every time you read more data from the socket.
This could be misleading to people unfamiliar with Go. The underlying structure of strings are byte arrays, which is why you have to be careful when you loop over a string because it'll give you byte-by-byte not character-by-character.
Byte arrays are used because they can be unmarshalled, whereas strings cannot.