Sorry for typo and possible spam but correct example here: type Foo<K, V> interface { Get(key K) V Set(key K, val V) } func foo() (int, Foo<string, int>) {
// Typo: foo := &Foo<string, int>{} foo := &fooStruct<string, int>{} // ... foos := []Foo<K,V>{} // ... k := "London" // ... return 55, foo2(foos, 55, k) } // This code is type safe and reusable foo2<K, V> (foos []Foo<K,V>, i int, key K) (V, Foo<K,V>) { foo := foos[i] return foo.Get(key), foo } -- 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.