[英]go - Modifying pointer to slice doesn't modify the original
我嘗試創建一個結構,其中一個字段是指向現有空切片的指針。 然后我修改 struct 的字段,稍后我嘗試從原始切片中獲取新內容 - 但它仍然是空的!
這是演示代碼:
package main
import (
"fmt"
)
type A struct {
B []int
}
func main() {
c := []int{}
a := &A{
B: c,
}
a.B = append(a.B, 5)
fmt.Println(c)
fmt.Println(a)
}
這里的結果是:
[]
&{[5]}
問題是 - 如何從原始切片和結構字段中獲取實際切片內容? 我沒有將切片作為參數傳遞給函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.