The builtin function append has this as it’s function signature.
func append(slice []Type, elems ...Type) []Type
This means that for a slice of type T, append takes in a variable amount of arguments of type T as it’s second parameter. Basically, if you are appending to a []string, you can append either one or more strings to it, but you were passing it letras[i:] which is a slice, but adding the ...'s to the end of a slice unpacks it into multiple values of it’s type, in this case, unpacking letras[i:] in to multiple strings.