我从Java迁移到了。在' go'中,我在使用处理程序时感到困惑。
例如:ServeHTTP(w http.ResponseWriter, req *http.Request)
这里ResponseWriter是一个接口,Request是一个struct。我们使用w作为对象来调用ResponseWriter接口中的方法。 req对象也是如此。我知道结构可以实现一个接口。在这里,我展示了一个例子,让我感到困惑。 Go Playground Link
答案 0 :(得分:2)
没有区别。接口是变量/ field / parameter的类型;该值仍然(很可能)是一个结构。这与Java中的相同,您可以在其中指定方法参数是接口类型,但您仍必须传递具体结果。在interface-typed参数上调用方法与在具体类型上调用方法相同。