在 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中文網其他相關文章!