使用net / url值获取错误{}

时间:2016-02-11 00:32:22

标签: go

我正在开发我的第一个golang应用程序。我试图通过路由器获取url值并将其推送到一个URL,该URL将向API发出POST请求。所有这些都有效,但是当我尝试使用net/url中的值映射使查询参数与POST请求一起发送时,我开始出错。

以下是相关代码:

package Utils

import (
    "fmt"
    "bytes"
    "encoding/json"
    "encoding/base64"
    "log"
    "net/http"
    "net/url"
    "io/ioutil"
)

...

func RetrieveAccessToken(client_id, client_secret, url, grant_type, code, redirect_uri string){
    // The data we are going to send with our request
    data := url.Values{}
    data.Set("client_id", client_id)
    data.Add("client_secret", client_secret)
    data.Add("grant_type", grant_type)
    data.Add("code", code)
    data.Add("redirect_uri", redirect_uri)

...

}

以下是我得到的错误

Utils/Api.go:25:23: error: expected ‘;’ or ‘}’ or newline
data := url.Values{}
                  ^

在此错误之后,我在上一行之后的每一行都会收到类似的错误:

Utils/Api.go:26:5: error: expected declaration
data.Set("client_id", client_id)
^

直到最后我引用net/url Values调用

时出现此错误
Utils/Api.go:25:16: error: reference to undefined field or method ‘Values’
     data := url.Values{}
                ^

如果有人能帮我解决这个问题,我将非常感激。我一直在看Go文档,似乎我一直在密切关注他们的例子。如果有一条规则我会误解,或者我错过了什么,如果你能指出我正确的方向,我会非常感激!

再次感谢!

1 个答案:

答案 0 :(得分:3)

你已经影响了" url"包含函数中url参数的包名称。重命名后者。