通话中没有足够的参数

我正在尝试创建一个显示用户 IP 的 go 应用程序。


我无法弄清楚我的日志控制台错误:


go:14: 没有足够的参数调用 getJsonRes


去应用代码:


package main


import (

    "encoding/json"

    "net/http"

    "fmt"

)


type Addrs struct {

    ip string

}


func handler(w http.ResponseWriter, r *http.Request) {

    response, err := getJsonRes()

    if err != nil {

    http.Error(w, err.Error(), http.StatusInternalServerError)

    return

    }

    w.Header().Set("Content-Type", "application/json")

    fmt.Fprintf(w, string(response))

}


func main() {

    http.HandleFunc("/", handler)

}


func getJsonRes(r *http.Request)([]byte, error ) {

    ip := Addrs{ r.RemoteAddr }


    return json.MarshalIndent(ip, "", " ")

}


智慧大石
浏览 181回答 1
1回答

蓝山帝景

你的职能func getJsonRes(r *http.Request)([]byte, error )接受一个请求指针并返回一个字节数组和/或一个错误。在这条线上response, err := getJsonRes()你不带参数调用它。您可能打算执行以下操作response, err := getJsonRes(r)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go