1.什么是Channel?
channel
即Go
的通道,是协程之间的通信机制。一个channel
是一条通信管道,它可以让一个协程通过它给另一个协程发送数据。每个channel
都需要指定数据类型,即channel
可发送数据的类型。Go语言主张通过数据传递来实现共享内存,而不是通过共享内存来实现数据传递。
为什么取这个名字,而不是直接写优雅退出呢?
实际上我一直觉得优雅退出这个名字并不直观,而优雅退出的本质,其实就是监听一些操作系统信号。在监听到退出信号的时候,可以做一些资源回收的操作,而不至于什么都不管直接退出,等到操作系统自己去处理回收这些资源。
json.Marshal()
返回值([]byte, error)
1 | package main |