积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Reflect.Value 字符串
积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Reflect.Value 字符串不随 SetString() 改变》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
问题内容我在设置 reflect.value 时遇到了一些麻烦,它是一个不同的字符串。
在下面的getvalue()
中返回一个reflect.value
val, 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() 等。如何正确更改字符串的值?
我可能没有完整的代码,但类似这样的代码可以工作:
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)
}
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Reflect.Value 字符串不随 SetString() 改变》文章吧,也可关注编程网公众号了解相关技术文章。
--结束END--
本文标题: Reflect.Value 字符串不随 SetString() 改变
本文链接: https://www.lsjlt.com/news/595995.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0