您的目標是將一段字串轉換為對應的字串指向字串的指標。但是,您使用簡單循環複製引用的初始方法會遇到意外行為。您已經意識到循環變數仍然是字串,而不是指針,並且您想知道如果它不是指針,它的值如何改變。
一個有效的方法解決方案涉及利用循環索引而不是循環變數來存取和附加正確的位址。透過迭代切片索引的範圍,您可以存取原始切片中的每個元素並取得其位址以插入到指標切片中。
範例:
values1 := []string{"a", "b", "c"} var values2 []*string for i, _ := range values1 { values2 = append(values2, &values1[i]) }
另一種方法涉及在循環內建立臨時局部變數。這些變數將保存每個字串的副本,並且它們的地址將添加到指標切片中。
範例:
for _, v := range values1 { v2 := v values2 = append(values2, &v2) }
值得注意的是,這兩種解決方案都涉及記憶體管理和資料可修改性:
透過了解循環變數並解決記憶體管理和可修改性注意事項,您可以可以有效地將Golang中的字串切片轉換為指向字串的指針切片。
以上是如何安全地將 Go 字串切片轉換為字串指標切片?的詳細內容。更多資訊請關注PHP中文網其他相關文章!