douyun3887 2017-05-23 20:12
浏览 101
已采纳

Http POST导致:返回的参数过多

I'm having some troubles trying to execute a POST using Golang. With the code below

func Postfunc(w http.ResponseWriter , rep *http.Request) {
     var jsonStr = []byte(`{"id":"10012"}`)
     req, err := http.NewRequest("POST", "url", bytes.NewBuffer(jsonStr))
     req.Header.Set("Content-Type", "application/Text")
     client := &http.Client{}
     resp, err := client.Do(req)
     if err != nil {
         panic(err)
     }
     fmt.Println("responce Status:", resp.Status)
     fmt.Println("responce Headers:", resp.Header)
     defer resp.Body.Close()
     bodyText, err := ioutil.ReadAll(resp.Body)
     fmt.Println("responce Body:", string(bodyText))
     p := string(bodyText)
     return  p
}

I get the following error:

too many arguments to return, have (string), want ()

What does this error mean? How can I fix this?

  • 写回答

1条回答 默认 最新

  • dongxiangchan0743 2017-05-23 20:27
    关注

    The error is exactly right. Your function signature is:

    func Postfunc(w http.ResponseWriter , rep *http.Request)
    

    It has no return values. Therefore, your last line:

    return  p
    

    Has too many arguments, which would be any arguments at all. If you want to write text to the HTTP response, use the ResponseWriter:

    w.Write(bodyText)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题