在 Go 中,append() 函数允许您将元素附加到相同类型的切片。但是,在处理接受 ...interface{} 类型的变量参数切片的方法时,直接使用append("some string", v) 附加字符串会导致错误。
要成功前置变量参数切片的字符串,您需要使用interface{}值的切片。这是因为 ...interface{} 允许任何类型的元素。为此,您可以将初始字符串包装在 []interface{} 切片中:
func (l Log) Error(v ...interface{}) { stringInterface := []interface{}{" ERROR "} l.Out.Println(append(stringInterface, v...)) }
这将 ERROR 字符串包装在 []interface{} 切片中,然后可以将其附加到变量参数切片 v.
这是一个示例:
package main import "fmt" func main() { s := "first" rest := []interface{}{"second", 3} all := append([]interface{}{s}, rest...) fmt.Println(all) }
输出:
[first second 3]
以上是如何在 Go 中将字符串添加到可变参数 Interface{} 切片之前?的详细内容。更多信息请关注PHP中文网其他相关文章!