私は新しいですが、ポイントがありませんが、Goチャネルはバッファされた最大チャネルサイズで制限されているのはなぜですか?たとえば、私はこの理由はそこにあるので、Goチャネルがバッファサイズを制限する理由
channel := make(chan int, 100)
のようなチャネルは、私がブロックせずにチャンネルに100個の以上の要素を追加することはできませんしますか?チャネルAPIはそれをサポートしていないため、動的にサイズ変更することはできません。
これは、無制限のセマフォと比較して利便性が欠けているため、言語のユニバーサル同期のサポートが1つのメカニズムで制限されているようです。例えば、一般化されたセマフォの値は、境界なしで増やすことができます。
私はバッファリングされたチャンネルの仕組みを理解しています。私の質問は、動的サイズのバッファとは対照的に、限られたバッファを持つように設計されている理由の詳細です。 IMOバッファリングされたチャンネルを使用している場合、ブロックせずに無制限の値を保持する方が理にかなっています – Curious