# Why is it \`close(::Channel)\` instead of \`close!(::Channel)\`?

**URL:** <https://discourse.julialang.org/t/why-is-it-close-channel-instead-of-close-channel/24261>\
**Category:** General Usage\
**Tags:** channel\
**Created:** [May 15, 2019, 10:24pm UTC](https://discourse.julialang.org/t/why-is-it-close-channel-instead-of-close-channel/24261 "2019-05-15T22:24:56Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [May 15, 2019, 11:24pm UTC](https://discourse.julialang.org/t/why-is-it-close-channel-instead-of-close-channel/24261/2 "2019-05-15T23:24:34Z")

</div>

There is no explicit data structure being mutated. Yes, I/O operations change the state of the I/O stream but that’s inherent to the way they function. It could be viewed the other way but then all I/O operations would end in `!` which seems unnecessary.

---

_[View the full topic](https://discourse.julialang.org/t/why-is-it-close-channel-instead-of-close-channel/24261)._
