Hello, Ian,
Would it be possible to have a generic type annotation syntax like this:
// Print prints the elements of any slice.// Print has a type parameter T, and
has a single (non-type)// parameter s which is a slice of that type parameter.
func Print(type T)(s []T) {
==>
// Print prints the elements of any slice.// Print has a type parameter T, and
has a single (non-type)// parameter s which is a slice of that type parameter.
func Print(s []T:type) {
This doesn't seem to clash with existing syntax, doesn't require a new pair
of parenthesis, marks T as a generic type (and can have added constraint
names right next to it, e.g: Print(s []T:type constraint)
Or anything similar really, that keeps the generic type description in-line
with regular types, e.g. could be a special sigil added to a type parameter
as well (@T, $T, etc to mark it as generic, e.g.: Print(s []$T constraint)
haven't thought this through by any means, but it strikes me as a cleaner
option than a new set of parenthesis and duplication of the generic
parameter names.
Does it make any sense? Don't recall seeing this in some other language...
--
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/06801f6e-3d42-4a59-b7e2-45e50bb4a4c6o%40googlegroups.com.