前言
在 Go 中,可以通过传递指针来改变函数外部变量的值,例如:
1 | func main() { |
但是在某些情况下,我们可能需要传递interface{}来接收任意的指针变量,这时候就会遇到一个问题,interface{}类型声明的变量是不能直接赋值指针的,例如:
1 | func main() { |
解决方案
查阅了一些资料,发现可以通过reflect包来解决这个问题,最终代码为:
1 | func main() { |
或者使用新版本范型特性来解决(推荐):
1 | func main() { |
在 Go 中,可以通过传递指针来改变函数外部变量的值,例如:
1 | func main() { |
但是在某些情况下,我们可能需要传递interface{}来接收任意的指针变量,这时候就会遇到一个问题,interface{}类型声明的变量是不能直接赋值指针的,例如:
1 | func main() { |
查阅了一些资料,发现可以通过reflect包来解决这个问题,最终代码为:
1 | func main() { |
或者使用新版本范型特性来解决(推荐):
1 | func main() { |
我是MonkeyWie,欢迎扫码👇👇关注!不定期在公众号中分享JAVA、Golang、前端、docker、k8s等干货知识。


微信支付

支付宝