On Wed, Jun 17, 2020 at 9:36 AM Charles Crete <char...@cretezy.com> wrote: > > Based on the new proposal, having the type parameters as () seems very > confusing, as now 3 things in a row use (): > - Type parameters > - Function parameters/arguments > - Return tuple > > This results in code like (from the draft): > func Stringify(type T Stringer)(s []T) (ret []string) { > for _, v := range s { > ret = append(ret, v.String()) > } > return ret > } > > Instead, using <> similar to other languages, makes it easier to visual parse: > func Stringify<T Stringer>(s []T) (ret []string) { > for _, v := range s { > ret = append(ret, v.String()) > } > return ret > } > > This can also apply to type definitions: > type Vector<T> []T > > To summarize: > - Having 3 times () in a row makes it confusing to visual parse > - The type keyword is not necessary > - Using <> would make it friendly (and easier to recognize)
Let's try the current suggested syntax and see how it works out in practice. https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md#why-not-use-the-syntax-like-c_and-java Ian -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAOyqgcU%2B8XFLa7LU1Eaq_bYziAdBLxnR_WG19LLfcoN4qMh-ew%40mail.gmail.com.