Open caiya opened 7 years ago
@caiya 现在才看到,我想你应该知道了,但还是说一下吧,go是在编译的时候就知道哪些是struct实现了哪些接口,内嵌http.ResponseWriter只是告诉编译器我是一个包装了http.ResponseWriter的strut,我拥有http.ResponseWriter的所有方法,这样,go就知道不用去care是否HttpResponse 有没有实现方法,被包装的http.ResponseWriter实现就行。我这样做的目的就是扩展http.ResponseWriter没有实现的方法而已,其实所有类型的东西,都是给编译器看的。
看了下源码发现wrapper.go里面有定义HttpResponse struct,方法WriteString调用时使用了io.WriteString方法,但是该方法要求传入的是writter接口,本身HttpResponse struct并未实现writter接口吧,那怎么可以传入呢?(只是匿名内嵌了个http.ResponseWriter接口),楼主能具体讲下struct匿名内嵌interface吗