Maxim Yefremov
Maxim Yefremov

Reputation: 14165

func with params of not fixed type

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?

Upvotes: 1

Views: 74

Answers (1)

peterSO
peterSO

Reputation: 166569

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.

Upvotes: 2

Related Questions