3 ms·
Yeah I think the C# team was definitely influenced by Go with their addition of Spans.. Interesting approach regarding using strings as containers for raw byte
by jasonthorsness 1y ago
Yeah I think the C# team was definitely influenced by Go with their addition of Spans..
Interesting approach regarding using strings as containers for raw bytes, but when you create one over a []byte I believe it makes a copy almost always (always?) so you can’t get a zero-cost read-only view of the data to pass to other functions.
- mwsherman 1y agoThat’s true, converting in either direction will typically allocate. Which it must, semantically. One can use unsafe for a zero-copy conversion, but now you are breaking the semantics: a string becomes mutable, because its underlying bytes are mutable. Or! One can often handle strings and bytes interchangeably with generics: https://github.com/clipperhouse/stringish https://github.com/clipperhouse/stringish
- pjmlp 1y agoLike everything else in Go, spans predate it for a few decades.