今天看go語言net包下的代碼時有些疑惑先上代碼,有疑問的語句用注視標出來了://NewRequestreturnsanewRequestgivenamethod,URL,andoptionalbody.funcNewRequest(method,urlStrstring,bodyio.Reader)(*Request,error){ u,err:=url.Parse(urlStr) iferr!=nil{ returnnil,err } rc,ok:=body.(io.ReadCloser)//這條語句是什么意思 if!ok&&body!=nil{ rc=ioutil.NopCloser(body) } req:=&Request{ Method:method, URL:u, Proto:"HTTP/1.1", ProtoMajor:1, ProtoMinor:1, Header:make(Header), Body:rc, Host:u.Host, } ifbody!=nil{ switchv:=body.(type){//這里也不懂 case*strings.Reader: req.ContentLength=int64(v.Len()) case*bytes.Buffer: req.ContentLength=int64(v.Len()) } } returnreq,nil}以上兩條語句都是在.后接括號,這種語法是什么意思?是go里面特有的么?
關(guān)于golang語法的一個問題
慕村225694
2019-04-06 08:32:07