I'm using docopt to parse command-line arguments. This works, and it results in a map, such as
map[<host>:www.google.de <port>:80 --help:false --version:false]
Now I would like to concatenate the host
and the port
value to a string with a colon in-between the two values. Basically, something such as:
host := arguments["<host>"] + ":" + arguments["<port>"]
Unfortunately, this doesn't work, as I get the error message:
invalid operation: arguments[""] + ":" (mismatched types interface {} and string)
So obviously I need to convert the value that I get from the map (which is just interface{}
, so it can be anything) to a string. Now my question is, how do I do that?
Best Answer
You need to add type assertion
.(string)
. It is necessary because the map is of typemap[string]interface{}
:Latest version of Docopt returns Opts object that has methods for conversion: