Go学习记录 | Peanuts' Blog

Go学习记录

不要通过共享内存来通信,而应通过通信来共享内存。

数组与切片的不同之处在于数组是带有长度的切片

Goroutine

  • 没有任何同步事件,因此它无法保证被其它任何Go程检测到。 实际上,一个积极的编译器可能会删除整条 go 语句。若一个Go程的作用必须被另一个Go程监测到,需使用锁或信道通信之类的同步机制来建立顺序关系。

信道通讯

  • 信道上的发送操作总在对应的接收操作完成前发生。
  • 若在信道关闭后从中接收数据,接收者就会收到该信道返回的零值。
  • 从无缓冲信道进行的接收,要发生在对该信道进行的发送完成之前。