前言
在 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
等干货知识。
微信支付
支付宝