Are you trying to make user-defined generic maps look more like built-in
ones?
map[T1]T2 is hard-coded syntax in go. But so is m[k] for accessing
elements - and you can't use that in user-defined types anyway.
Therefore I don't think it helps much to be able to write mymap[T1]T2
instead of mymap[T1, T2], because you can't use the corresponding
accessors. You would need something like:
func (m *MyMap[KT, VT]) set(k KT, v VT) ...
func (m *MyMap[KT, VT]) get(k KT) VT ...
Also: to create one of these objects there is more built-in syntax you
can't use:
v := make(mymap[T1]T2) // won't work
so you need to use a factory function. With your proposed syntax it would
be:
v := makemymap[T1]T2()
which IMO is worse than
v := makemymap[T1, T2]()
Example code: https://go2goplay.golang.org/p/2i3dgP2cKyz
--
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/07d8b489-9ad3-4779-8adf-2733afa77196n%40googlegroups.com.