在Golang 中將[]interface{} 轉換為[]string
使用github.com/fatih/structs 套件時,您可能會遇到需要將從toValues() 函數取得的[]interface{} 值轉換為[]string 以便與csv 一起使用的情況 包裹。但是,無法直接執行此轉換,因為這些類型的記憶體佈局不同。
要解決此問題,您必須定義如何將各種類型的值表示為字串。一種簡單的方法是迭代這些值並使用 fmt.Sprint() 來取得字串表示形式。
以下程式碼範例示範了這一點:
t := []interface{}{ "zero", 1, 2.0, 3.14, []int{4, 5}, struct{ X, Y int }{6, 7}, } s := make([]string, len(t)) for i, v := range t { s[i] = fmt.Sprint(v) }
這將產生以下輸出:
[zero 1 2 3.14 [4 5] {6 7}] ["zero" "1" "2" "3.14" "[4 5]" "{6 7}"]
透過採用這種技術,您可以輕鬆地將包含不同類型值的[]interface{} 轉換為[]string,讓您有效地利用csv 套件進一步處理。
以上是如何在 Go 中將 []interface{} 轉換為 []string?的詳細內容。更多資訊請關注PHP中文網其他相關文章!