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)
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/CALk%2Bt4a7a6G7komPB_N1ataYTOjKSU556Gp2cHge%2BxnYnoLBig%40mail.gmail.com.