Golang FAQ
What does an underscore in front of an import statement mean?
Blank assignments identify code as a work in progress. Or to import a package solely for its side-effects(initialization), use the blank identifier as explicit package name.
What is … in Go?
A parameter type prefixed with three dots(…) is called a variadic parameter. That means you can pass any number or arguments into that parameter. The function will receive the list of arguments for the parameter as a slice of the type declared for the parameter.
A parameter:
a ...interface{}
a []interface{}
The difference is how you pass the arguments to such a function. It is done either by giving each piece of the slice seperately, or as a slice, in which case you will have to suffix the slice-value with the three dots. The following examples will result in the same call:
fmt.Println("First", "Second", "Third")
s := []interface{}{"First", "Second", "Third"}
fmt.Println(s...)