dsshsta97935 2010-09-27 22:43
浏览 28
已采纳

如何强制编译器控制值/指针到值函数参数?

Dealing with go's funcs I discovered that one can't force the compiler to control whether I pass a value or pointer-to-value argument when using 'generic' interface{} type.

func f(o interface{}) {
...
}

The most obvious solution is to use the following modification:

func f(o *interface{}) {
...
}

Although this is successfully compiled I didn't find this step right. So, is there any means to state that I want to pass any pointer?

  • 写回答

2条回答 默认 最新

  • dsa5233 2010-09-28 00:53
    关注

    No. At compile time, interface{}, the empty interface, is any type.

    all types implement the empty interface: interface{} Interface types

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?