What's the point of creating one-way channels in Go
<p>In Go one can create one-way channels. It's a very convenient feature in case of one want to restrict a set of operations available on the given channel. However, as far as I can see, this feature is useful only for function's arguments and variable's type specification, while creating one-way channels via <code>make</code> looks strange for me. I've read this <a href="https://stackoverflow.com/questions/13596186/whats-the-point-of-one-way-channels-in-go">question</a>, but it's not about creating read (or write)-only channels in Go, it's about usage in general. So, my question is about use cases of the next code:</p>

<pre><code>writeOnly := make(chan&lt;- string)
readOnly := make(&lt;-chan string)
</code></pre>