Difference between Rust-libp2p and Go-libp2p

I’m currently rewriting a project in Go, that I’ve already done in Rust, using libp2p. A main part is libp2p-kad-dht which is actually rather easy to understand and get running in Rust. However in Go I’m hopelessly lost. Is there any good example where go-libp2p-kad-dht is shown off, similar to the Rust Example File Sharing? DHT seems way more complicated in go-libp2p and the documentation/examples didn’t really made it clear to me.
There is also a very old, still unresolved issue on the GitHub: Examples · Issue #3 · libp2p/go-libp2p-kad-dht · GitHub
I would be very thankful if someone could give me a hint or even a full-fetched example.

Just a more general question: Why are there actually differences between the examples in the different implementations?

Hi @umgefahren,

Max here, maintainer of rust-libp2p.

Is there any good example where go-libp2p-kad-dht is shown off

I am not the right one to comment here. Maybe @adin?

Just a more general question: Why are there actually differences between the examples in the different implementations?

There are many reasons. Lack of coordination between teams, different focuses across implementations, …

Contributions in general, and contributions to examples and tutorials in particular are more than welcome!