在下面的代码中,我尝试将变量“Regprofile”作为全局变量访问,但得到空输出。有什么帮助吗?type GMLCInstance struct { NfInstanceID string `json:"nfInstanceID"` HeartBeatTimer int `json:"heartBeatTimer"` NfType []string `json:"nfType"` NfStatus []string `json:"nfStatus"` Ipv4Addresses []string `json:"ipv4Addresses"`}var Regprofile GMLCInstance// Request credentials and token from NRF and register profile to NFR databasefunc init() { urlcred := "https://127.0.0.1:9090/credentials" // Perform the request resp, err := netClient.Get(urlcred) if err != nil { log.Fatalf("Failed get: %s", err) } defer resp.Body.Close() // Fill the record with the data from the JSON var cr Credential // Use json.Decode for reading streams of JSON data if err := json.NewDecoder(resp.Body).Decode(&cr); err != nil { log.Println(err) } //fmt.Println(cr) clientId := cr.CLIENTID clientsec := cr.CLIENTSECRET // Get token reqtoken := url.Values{ "grant_type": []string{"client_credentials"}, "client_id": []string{clientId}, "client_secret": []string{clientsec}, "scope": []string{"GMLC"}, } urlq := "https://127.0.0.1:9090/oauth2/token?" res, err := netClient.PostForm(urlq+reqtoken.Encode(), nil) if err != nil { log.Fatalf("Failed get: %s", err) } var auth AccessToken // Use json.Decode for reading streams of JSON data if err := json.NewDecoder(res.Body).Decode(&auth); err != nil { log.Println(err) } //fmt.Println(auth.AccessToken) token := auth.AccessToken para := url.Values{ "access_token": []string{token}, }我得到的空数据为 { 0 [] [] []}
1 回答
温温酱
TA贡献1752条经验 获得超4个赞
您可以在函数范围内本地func init()
重新声明变量。var Regprofile GMLCInstance
该声明将全局变量与局部变量隐藏起来。只需删除里面的这个本地声明即可init()
。
- 1 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消