Thanks for sharing point the view!. And you can bet that i done that!!! :D
It was quite a challenge you know!! In nowadays system is working, let keep
crossing fingers please...
El sáb., 26 ene. 2019 a las 18:45, robert engels (<reng...@ix.netcom.com>)
escribió:

> Yes, and you can do that.
>
> On Jan 26, 2019, at 3:36 PM, Victor Giordano <vitucho3...@gmail.com>
> wrote:
>
> Probably i need to reveal the underlying problem i was trying to solve
>
> At a glande: an appoinment subsystem for a health *organization*,
> considering practitioners that work on *services *offering *practices *that
> refers to *billables *items, the *practices *may need one or more
> *equipment*, also taking into accountg the  *practitioners* *availability*
> expressed in relative periodic terms (weekly for example) and absoulte
> terms (a given day on the cosmos) and their holidays, and the *location *where
> the patient-doctor encounter will occur, also consdiering the *center *(a
> heath *organization *has one or many) holidays.
>
> So  need to resolve availabiltiies to determine when a given practice can
> be performe. I have several structs represeting the entties involved in the
> process (the one marked in *bold*), for each one of these structs there
> is a *theorical availbility* and a *actual usage* that leads you to
> calculate the *actual availlity*, so *everything related to the
> availabilty of these enties need to be placed somewhere*, so my original
> idea was to associate each algoritm with the struct but without writing the
> algorithms as part of the struct, a map comes in handy here.
>
>
> El sáb., 26 ene. 2019 a las 16:31, Wagner Riffel (<wgrrif...@gmail.com>)
> escribió:
>
>> i don't quite understand why you're using enums as keys, you can use a
>> anything but what already was pointed out, following your person example:
>> https://play.golang.org/p/cuMlPeqR7Qb
>>
>>
>> On Sat, Jan 26, 2019, 3:26 PM Victor Giordano <vitucho3...@gmail.com>
>> wrote:
>>
>>> Yup! That's right! At the end of the day i used the enums idioms
>>> <https://stackoverflow.com/questions/14426366/what-is-an-idiomatic-way-of-representing-enums-in-go>,
>>> employing integer type (the value that supports the "enum" )
>>>
>>> (TL;DR;) Ancient History :
>>>
>>> The problem arises as i get used to use maps in Java where you can use
>>> as a key a class definition (that is custom data type in Java, like the
>>> same way an "struct" in Golang is a custom data type). So i get use to work
>>> with types as keys, that way i could associate logic and data with an
>>> asbtraction (recall that logic and data does not intrinsically belong to
>>> that abstraction, so it would be wrong to place all in there).
>>>
>>> I wake-up in golang without that capability: i mean how i may refer to a
>>> group of well know struct definitions in a generic way, i mean for example
>>> this:
>>>
>>> type Person struct {
>>> }
>>>
>>> var SpanishTermByStruct map[struct]string = map[struct]string{
>>> Person: "person",
>>> }
>>>
>>> ? and in that moment the wondering about using "type" for key (or value)
>>> comes to my mind... i then i get that is not allowed.
>>>
>>>
>>> El sáb., 26 ene. 2019 a las 10:57, <mountain...@gmail.com> escribió:
>>>
>>>> I looked at your program example, mainly using the reflection type to
>>>> design the mapped key, perhaps the reflected key is a comparable type, but
>>>> I mainly propose specific types, such as func, slice, map can not be used
>>>> as a key use
>>>>
>>>> 在 2019年1月25日星期五 UTC+8下午11:31:57,Victor Giordano写道:
>>>>>
>>>>> Yeah, i got the idea. I had already researched about it and what you
>>>>> can do about it.
>>>>> <https://stackoverflow.com/questions/50730331/mapping-concrete-types>
>>>>> I was only repeating what i want as a dev in this community!
>>>>>
>>>>> El viernes, 25 de enero de 2019, 12:04:38 (UTC-3), Wagner Riffel
>>>>> escribió:
>>>>>>
>>>>>> you can "employ" any custom type as key but the ones that doesn't
>>>>>> defines equality operations, see
>>>>>> https://golang.org/ref/spec#Comparison_operators
>>>>>> as Ian already pointed out, you just can't build your custom type on
>>>>>> top of func, map or slice to be a valid key, anything else you can.
>>>>>>
>>>>>> On Fri, Jan 25, 2019 at 12:47 PM Victor Giordano <vituc...@gmail.com>
>>>>>> wrote:
>>>>>> >
>>>>>> > Just wanna say : It would be nice to employ a custom type as a
>>>>>> valid key for a map!!! :D
>>>>>> >
>>>>>> >
>>>>>> > El jueves, 24 de enero de 2019, 0:47:32 (UTC-3), mount...@gmail.com
>>>>>> escribió:
>>>>>> >>
>>>>>> >> thanks lan.
>>>>>> >>
>>>>>> >> 在 2019年1月23日星期三 UTC+8下午11:26:57,Ian Lance Taylor写道:
>>>>>> >>>
>>>>>> >>> On Tue, Jan 22, 2019 at 11:47 PM <mount...@gmail.com> wrote:
>>>>>> >>> >
>>>>>> >>> > i got :
>>>>>> >>> >   # command-line-arguments
>>>>>> >>> > ./key.go:6:18: invalid operation: F() == F() (func can only be
>>>>>> compared to nil)
>>>>>> >>>
>>>>>> >>> Yes, that is what the language spec says and it is what I said:
>>>>>> in Go,
>>>>>> >>> function values are not comparable.
>>>>>> >>>
>>>>>> >>> I wrote that code as an example to help explain why function
>>>>>> values
>>>>>> >>> are not comparable.
>>>>>> >>>
>>>>>> >>> Ian
>>>>>> >>>
>>>>>> >>> > 在 2019年1月23日星期三 UTC+8上午11:59:07,mount...@gmail.com写道:
>>>>>> >>> >>
>>>>>> >>> >>      When i use the func, map slice as the key of map, it
>>>>>> isn't work!
>>>>>> >>> >>      So  I lookup source  why, i find
>>>>>> >>> >>
>>>>>> >>> >>     // spec: "The comparison operators == and != must be fully
>>>>>> defined
>>>>>> >>> >>         // for operands of the key type; thus the key type
>>>>>> must not be a
>>>>>> >>> >>         // function, map, or slice."
>>>>>> >>> >>         //
>>>>>> >>> >>         // Delay this check because it requires fully setup
>>>>>> types;
>>>>>> >>> >>         // it is safe to continue in any case (was issue
>>>>>> 6667).
>>>>>> >>> >>         check.later(func() {
>>>>>> >>> >>             if !Comparable(typ.key) {
>>>>>> >>> >>                 check.errorf(e.Key.Pos(), "invalid map key
>>>>>> type %s", typ.key)
>>>>>> >>> >>             }
>>>>>> >>> >>         })
>>>>>> >>> >> // Comparable reports whether values of type T are comparable.
>>>>>> >>> >> func Comparable(T Type) bool {
>>>>>> >>> >>     switch t := T.Underlying().(type) {
>>>>>> >>> >>     case *Basic:
>>>>>> >>> >>         // assume invalid types to be comparable
>>>>>> >>> >>         // to avoid follow-up errors
>>>>>> >>> >>         return t.kind != UntypedNil
>>>>>> >>> >>     case *Pointer, *Interface, *Chan:
>>>>>> >>> >>         return true
>>>>>> >>> >>     case *Struct:
>>>>>> >>> >>         for _, f := range t.fields {
>>>>>> >>> >>             if !Comparable(f.typ) {
>>>>>> >>> >>                 return false
>>>>>> >>> >>             }
>>>>>> >>> >>         }
>>>>>> >>> >>         return true
>>>>>> >>> >>     case *Array:
>>>>>> >>> >>         return Comparable(t.elem)
>>>>>> >>> >>     }
>>>>>> >>> >>     return false
>>>>>> >>> >> }
>>>>>> >>> >
>>>>>> >>> > --
>>>>>> >>> > 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...@googlegroups.com.
>>>>>> >>> > For more options, visit https://groups.google.com/d/optout.
>>>>>> >
>>>>>> > --
>>>>>> > 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...@googlegroups.com.
>>>>>> > For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "golang-nuts" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/golang-nuts/Z0XQueZFoVw/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> golang-nuts+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> 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.
>>>
>>
> --
> 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.
>
>
>

-- 
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.

Reply via email to