go语言中fmt.Println(s0==nil)什么意思?

Python019

go语言中fmt.Println(s0==nil)什么意思?,第1张

对于某些类型的变量,如指针、切片、map、接口、通道、函数等,如果从未为它赋过值,则它将具有默认值nil。这句代码的意思就是,如果s0未初始化过,就打印true,否则打印false。

Get转到定义是如下代码,

func (c *Client) Get(url string) (resp *Response, err error) {

req, err := NewRequest("GET", url, nil)

if err != nil {

return nil, err

}

return c.Do(req)

}

看上去已经有足够多的动作了,并不是你说的只是一个接口啊

1、给一个nil channel发送数据,造成永远阻塞

2、从一个nil channel接收数据,造成永远阻塞

3、给一个已经关闭的channel发送数据,引起panic

4、从一个已经关闭的channel接收数据,如果缓冲区中为空,则返回一个零值

5、无缓冲的channel是同步的,而有缓冲的channel是非同步的