golang笔记
简介
golang是一款开源的编程语言,可以让你编写出快速,简单,高效的程序。在中国大陆,可以访问这个官网。本文记录了一些使用golang中的常见问题。
select与chan的优先问题
select会阻塞直到有一个chan满足了条件,而其他将会被忽略。
关于select的优先级,同级时随机,优先级从高到低有:
- 从打开、有元素的channel中取出元素
- 向打开、缓冲未满的channel中放入元素
- 从关闭的channel中取出元素
- default默认
注意,以下会panic:
- 向关闭的channel中放入元素
注意,以下会阻塞:
- 从打开、无元素的channel中取出元素
- 向打开、缓冲满的channel中放入元素
- 取出尚未分配内存的channel
- 放入尚未分配内存的channel
验证可以到在线运行尝试。
应用:信号
- 原文作者:qydysky
- 原文链接:/post/20210425golang/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。