It is pity `func g = othermod.F` were rejected. It could simplify 
refactoring.
For example, I've decided to move type and its constructor to other 
package. I could easily alias type in its previous place to remain 
compatibility, but I have to write ugly wrapper for constructor:

    type SomeEntity = otherpackage.SomeEntity
    func NewSomeEntity(arg1 Arg1, arg2 Arg2, arg3 Arg3, opts ...Opt) 
*SomeEntry {
         return otherpackage.SomeEntity(arg1, arg2, opts...)
    }

compared to

    type SomeEntity = otherpackage.SomeEntity
    func NewSomeEntity = otherpackage.NewSomeEntity

среда, 5 декабря 2018 г. в 00:14:42 UTC+3, axel.wa...@googlemail.com: 

> This was considered (or rather, the `func g = f` syntax), but ultimately 
> it was decided that the current ways to forward functions are good enough 
> :) Either use var, or if you are uncomfortable with having that 
> *theoretically* mutable, wrap it directly (it should get inlined, so 
> there's no cost apart from writing the wrapper).
>
> On Tue, Dec 4, 2018 at 8:34 PM Liam Breck <li...@networkimprov.net> wrote:
>
>> I meant this should work
>>
>> https://play.golang.org/p/w6MBzP9RNdH
>>
>> On Tue, Dec 4, 2018, 11:21 AM messju mohr <li...@lammfellpuschen.de 
>> wrote:
>>
>>> Erm, function names may be const, but functions are first class citizen 
>>> types and can of course be assigned to variables and be passed around.
>>>
>>> just my 2c
>>>
>>> On Tue, Dec 04, 2018 at 10:27:19AM -0800, Liam Breck wrote:
>>> >    Ah yes, var works. But it should be const, since func names aren't
>>> >    variables.
>>> >    On Tue, Dec 4, 2018, 5:40 AM Axel Wagner <[1]
>>> axel.wa...@googlemail.com
>>> >    wrote:
>>> > 
>>> >      You can use
>>> >      var Gi = g.G(int)
>>> >      or you can use
>>> >      func Gi(i int) error { return g.G(i) }
>>> >      for the same effect. Which is pretty much the reason why
>>> >      alias-declarations ended up only be added for types - all other
>>> >      declarations can already be emulated sufficiently well. :)
>>> >      On Mon, Dec 3, 2018 at 11:39 PM Liam Breck <[2]
>>> li...@networkimprov.net>
>>> >      wrote:
>>> > 
>>> >        Type aliases appear in the contracts draft design. Has anyone
>>> >        suggested alias declarations for generic functions? This would
>>> >        simplify syntax for callers...
>>> >        package g
>>> >        func G(type T)(i T) error { ... }
>>> >        ---
>>> >        package main
>>> >        import "g"
>>> >        func Gi g.G(int) // declare alias
>>> >        func f() {
>>> >           Gi(1)
>>> >        }
>>> > 
>>> >        --
>>> >        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 [3]golang-nuts...@googlegroups.com.
>>> >        For more options, visit [4]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 [5]golang-nuts...@googlegroups.com.
>>> >    For more options, visit [6]https://groups.google.com/d/optout.
>>> > 
>>> > References
>>> > 
>>> >    Visible links
>>> >    1. mailto:axel.wa...@googlemail.com
>>> >    2. mailto:li...@networkimprov.net
>>> >    3. mailto:golang-nuts...@googlegroups.com
>>> >    4. https://groups.google.com/d/optout
>>> >    5. mailto:golang-nuts...@googlegroups.com
>>> >    6. 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 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/9dfb44a1-478a-4018-b8eb-b7df40013e70n%40googlegroups.com.

Reply via email to