I'm moving from Java to go. In 'go', I got confused when using a Handler.
For eg: ServeHTTP(w http.ResponseWriter, req *http.Request)
Here ResponseWriter is an interface and Request is a struct. We are using w as an object to call the methods in ResponseWriter interface. The same goes with req object. I know that a struct can implement an interface. Here I'm showing an example and where I'm getting confused. Go Playground Link
There's no difference. The interface is the type of your variable/field/parameter; the value is still (most likely) a struct. This is the same as in Java, where you can specify that a method argument is of an interface type, but you must still pass in a concretion. Calling methods on the interface-typed argument is the same as calling the method on a concrete type.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments