亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

反映。值字符串未隨 SetString() 更改

反映。值字符串未隨 SetString() 更改

Go
繁星點點滴滴 2022-08-24 18:55:17
我在設置反射時遇到了一些麻煩。值,它是不同事物的字符串。在下面返回一個GetValue()reflect.Valueval, err := exp.GetFact(t.(*api.Event_Set).Set.Key).GetValue()if err != nil {    ref := reflect.Indirect(val)    ref.SetString(t.(*api.Event_Set).Set.Value)}在擊中SetString時,它會引發恐慌:panic: reflect: reflect.Value.SetString using unaddressable value我嘗試了不同的語法,即沒有間接,Elem()等。如何正確更改字符串的值?
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

我可能沒有完整的代碼,但像這樣的東西是有效的:


package main


import (

    "fmt"

    "reflect"

)


func main() {

    s := "test"

    value := reflect.ValueOf(&s)

    ref := reflect.Indirect(value)

    ref.Set(reflect.ValueOf("test1"))

    fmt.Printf(s)

}


查看完整回答
反對 回復 2022-08-24
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

我看到了這樣的東西,使用了最后一個回答者的代碼。


package main


import (

    "fmt"

    "reflect"

)


func main() {

    s := "test"

    ref := reflect.ValueOf(&s).Elem()

    ref.Set(reflect.ValueOf("test1"))

    fmt.Printf(s)

}


查看完整回答
反對 回復 2022-08-24
  • 2 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號