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.

Reply via email to