Streams is a very different thing from Go Reader and Writer interfaces. This is very high level language constructs using lazy collections. There is a lot of machinery there.
If you are doing systems programming I don't think that is a great solution. You want to be close to the metal. With Streams there is a lot going on under the hood.
It is not without reason that people have found it difficult to optimize Haskell code. Lazy collections, are hard to reason about in performance terms. In systems programming you want the boundary between you and the hardware to remain pretty straightforward.
Now if you want to do high level application development, then that is another question.
Some of the difficulty in doing comparisons here is that C# and Java are also used for application development especially C#. Application development has other needs than systems programming.
And if you want to work high level, then why use C# and not F# instead? Seems like a better language to me.