In golang, if a concrete type embeds an interface type, the concrete type must implement this interface type.
package main type I interface { IsZero() bool } type T struct { I } var i I = T{} // implemention assertion ok func main(){ } On Saturday, October 8, 2016 at 9:14:34 PM UTC+8, Fei Ding wrote: > > Recently I've been asked a question which is, what's the difference > between Golang and Java about *interface*? > > > I know there are some 'syntax-sugar level' differences, what I am > interested is anything beneath the ground, like how does Golang and Java > implement interface? What's the biggest difference? Which one is more > efficient? Why? > > > Could anyone post blog links or source code about this topic? The only > code I can find is in src/runtime/iface.go, but I cannot understand it or > get anything useful by myself yet. Source code is better. > > > Thanks. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.