净值/网址值出现错误{}

Chr*_*ank 2 go

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

以下是相关代码:

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)

...

}
Run Code Online (Sandbox Code Playgroud)

这是我遇到的错误

Utils/Api.go:25:23: error: expected ‘;’ or ‘}’ or newline
data := url.Values{}
                  ^
Run Code Online (Sandbox Code Playgroud)

在发生此错误之后,对于上一行之后的每一行,我都会收到这样的错误:

Utils/Api.go:26:5: error: expected declaration
data.Set("client_id", client_id)
^
Run Code Online (Sandbox Code Playgroud)

直到最后我得到引用该net/url Values调用的错误

Utils/Api.go:25:16: error: reference to undefined field or method ‘Values’
     data := url.Values{}
                ^
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我解决这个问题,我将不胜感激。我已经看了一段时间的Go文档,似乎我一直在密切关注他们的示例。如果有一条规则我误会了,或者我错过了某些事情,如果您能指出正确的方向,我将非常感谢!

再次感谢!

Jim*_*imB 6

您已经url在函数中使用参数遮盖了“ url”包名称。重命名后者。