Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Printf在golang的http处理程序中不工作_Go - Fatal编程技术网

Printf在golang的http处理程序中不工作

Printf在golang的http处理程序中不工作,go,Go,我正在尝试使用编写一个web服务器,并且我已经在handler/users中编写了自己的处理程序,它在上的post请求中被调用 localhost/app/signup。我试图将json数据打印到终端,但fmt.Printf()不打印任何内容。档案如下: 在处理程序/用户中 总的来说,去吧 我做错了什么?我刚刚测试了您的代码,我看到控制台上打印了以下内容: In AppPostSignup 我的猜测是,您试图使用GET请求测试您的/app/signup端点,而您只将其标记为POST请求 如果您

我正在尝试使用编写一个web服务器,并且我已经在handler/users中编写了自己的处理程序,它在上的post请求中被调用 localhost/app/signup。我试图将json数据打印到终端,但fmt.Printf()不打印任何内容。档案如下:

在处理程序/用户中 总的来说,去吧
我做错了什么?

我刚刚测试了您的代码,我看到控制台上打印了以下内容:

In AppPostSignup
我的猜测是,您试图使用GET请求测试您的
/app/signup
端点,而您只将其标记为POST请求

如果您确实希望它是一个POST请求,那么您可以使用curl测试它,如下所示:

curl -X POST localhost:8888/app/signup

请注意,该请求缺少有效的正文,但您将能够看到打印的消息。

我刚刚测试了您的代码,并在控制台上看到以下内容:

In AppPostSignup
我的猜测是,您试图使用GET请求测试您的
/app/signup
端点,而您只将其标记为POST请求

如果您确实希望它是一个POST请求,那么您可以使用curl测试它,如下所示:

curl -X POST localhost:8888/app/signup

请注意,该请求缺少有效的正文,但您将能够看到打印的消息。

什么是“fmt.Printf()不打印任何内容”?我很抱歉,但我刚刚发现我有一个不同的问题。当我在handlers/users.go或handlers/go中的任何文件中进行更改时,这些更改在我运行main.go($>go run main.go)时不会反映出来。[例如,我刚刚删除了一个括号并打开了一个函数,'go run main.go'没有显示任何错误。]这就是为什么我添加了一个print语句,它没有打印任何内容。知道发生了什么吗?非常感谢您的帮助。通常不要使用
go-run
。使用
go build
,然后运行生成的二进制文件
go run
通常不遵循最令人惊讶的原则。要么编辑错误的文件,要么请求根本没有触发
Printf()
(例如,由于使用了http方法)。我想,
go run
go build
在这种情况下没有什么区别。你说的“fmt.Printf()什么都不打印”是什么意思?我很抱歉大家,但我刚刚发现我有一个不同的问题。当我在handlers/users.go或handlers/go中的任何文件中进行更改时,这些更改在我运行main.go($>go run main.go)时不会反映出来。[例如,我刚刚删除了一个括号并打开了一个函数,'go run main.go'没有显示任何错误。]这就是为什么我添加了一个print语句,它没有打印任何内容。知道发生了什么吗?非常感谢您的帮助。通常不要使用
go-run
。使用
go build
,然后运行生成的二进制文件
go run
通常不遵循最令人惊讶的原则。要么编辑错误的文件,要么请求根本没有触发
Printf()
(例如,由于使用了http方法)。而且,
go-run
go-build
在这种情况下没有什么区别。