doublel83422 2014-11-10 02:48
浏览 7
已采纳

具有非固定类型参数的func

Is it possible in GoLang:

func funcWithDynamicTypeArgs(param notFixedType) 
{

}

I want param let be int and string and map and any type. In other words: is it possible in Go to declare and use function with dynamic type arguments?

  • 写回答

1条回答 默认 最新

  • dongye1143 2014-11-10 02:53
    关注

    For example,

    func function(param interface{}) {
    }
    

    The Go Programming Language Specification

    Interface types

    All types implement the empty interface:

    interface{}
    

    Type assertions

    For an expression x of interface type and a type T, the primary expression

    x.(T)
    

    asserts that x is not nil and that the value stored in x is of type T. The notation x.(T) is called a type assertion.


    See package fmt which uses package reflect to handle arguments of any type. For example,

    func Print

    func Print(a ...interface{}) (n int, err error)
    

    Print formats using the default formats for its operands and writes to standard output. Spaces are added between operands when neither is a string. It returns the number of bytes written and any write error encountered.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?